1 /******************************************************************************
3 * Copyright(c) 2007 - 2017 Realtek Corporation.
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.
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
14 * The full GNU General Public License is included in this distribution in the
15 * file called LICENSE.
17 * Contact Information:
18 * wlanfae <wlanfae@realtek.com>
19 * Realtek Corporation, No. 2, Innovation Road II, Hsinchu Science Park,
20 * Hsinchu 300, Taiwan.
22 * Larry Finger <Larry.Finger@lwfinger.net>
24 *****************************************************************************/
25 #ifndef __HAL_COM_TXBF_H__
26 #define __HAL_COM_TXBF_H__
45 TXBF_SET_SOUNDING_ENTER,
46 TXBF_SET_SOUNDING_LEAVE,
47 TXBF_SET_SOUNDING_RATE,
48 TXBF_SET_SOUNDING_STATUS,
49 TXBF_SET_SOUNDING_FW_NDPA,
50 TXBF_SET_SOUNDING_CLK,
51 TXBF_SET_TX_PATH_RESET,
56 TXBF_GET_EXPLICIT_BEAMFORMEE,
57 TXBF_GET_EXPLICIT_BEAMFORMER,
62 /* @2 HAL TXBF related */
63 struct _HAL_TXBF_INFO {
69 struct phydm_timer_list txbf_fw_ndpa_timer;
70 #if (DM_ODM_SUPPORT_TYPE == ODM_WIN)
71 RT_WORK_ITEM txbf_enter_work_item;
72 RT_WORK_ITEM txbf_leave_work_item;
73 RT_WORK_ITEM txbf_fw_ndpa_work_item;
74 RT_WORK_ITEM txbf_clk_work_item;
75 RT_WORK_ITEM txbf_status_work_item;
76 RT_WORK_ITEM txbf_rate_work_item;
77 RT_WORK_ITEM txbf_reset_tx_path_work_item;
78 RT_WORK_ITEM txbf_get_tx_rate_work_item;
82 #if (BEAMFORMING_SUPPORT == 1)
84 void hal_com_txbf_beamform_init(
87 void hal_com_txbf_config_gtab(
90 void hal_com_txbf_enter_work_item_callback(
91 #if (DM_ODM_SUPPORT_TYPE == ODM_WIN)
98 void hal_com_txbf_leave_work_item_callback(
99 #if (DM_ODM_SUPPORT_TYPE == ODM_WIN)
106 void hal_com_txbf_fw_ndpa_work_item_callback(
107 #if (DM_ODM_SUPPORT_TYPE == ODM_WIN)
114 void hal_com_txbf_clk_work_item_callback(
115 #if (DM_ODM_SUPPORT_TYPE == ODM_WIN)
122 void hal_com_txbf_reset_tx_path_work_item_callback(
123 #if (DM_ODM_SUPPORT_TYPE == ODM_WIN)
130 void hal_com_txbf_get_tx_rate_work_item_callback(
131 #if (DM_ODM_SUPPORT_TYPE == ODM_WIN)
138 void hal_com_txbf_rate_work_item_callback(
139 #if (DM_ODM_SUPPORT_TYPE == ODM_WIN)
146 void hal_com_txbf_fw_ndpa_timer_callback(
147 struct phydm_timer_list *timer);
149 void hal_com_txbf_status_work_item_callback(
150 #if (DM_ODM_SUPPORT_TYPE == ODM_WIN)
170 #define hal_com_txbf_beamform_init(dm_void) NULL
171 #define hal_com_txbf_config_gtab(dm_void) NULL
172 #define hal_com_txbf_enter_work_item_callback(_adapter) NULL
173 #define hal_com_txbf_leave_work_item_callback(_adapter) NULL
174 #define hal_com_txbf_fw_ndpa_work_item_callback(_adapter) NULL
175 #define hal_com_txbf_clk_work_item_callback(_adapter) NULL
176 #define hal_com_txbf_rate_work_item_callback(_adapter) NULL
177 #define hal_com_txbf_fw_ndpa_timer_callback(_adapter) NULL
178 #define hal_com_txbf_status_work_item_callback(_adapter) NULL
179 #define hal_com_txbf_get(_adapter, _get_type, _pout_buf)
183 #endif /* @#ifndef __HAL_COM_TXBF_H__ */