| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183 |
- /******************************************************************************
- *
- * Copyright(c) 2007 - 2017 Realtek Corporation.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
- * The full GNU General Public License is included in this distribution in the
- * file called LICENSE.
- *
- * Contact Information:
- * wlanfae <wlanfae@realtek.com>
- * Realtek Corporation, No. 2, Innovation Road II, Hsinchu Science Park,
- * Hsinchu 300, Taiwan.
- *
- * Larry Finger <Larry.Finger@lwfinger.net>
- *
- *****************************************************************************/
- #ifndef __HAL_COM_TXBF_H__
- #define __HAL_COM_TXBF_H__
- #if 0
- typedef bool
- (*TXBF_GET)(
- void* adapter,
- u8 get_type,
- void* p_out_buf
- );
- typedef bool
- (*TXBF_SET)(
- void* adapter,
- u8 set_type,
- void* p_in_buf
- );
- #endif
- enum txbf_set_type {
- TXBF_SET_SOUNDING_ENTER,
- TXBF_SET_SOUNDING_LEAVE,
- TXBF_SET_SOUNDING_RATE,
- TXBF_SET_SOUNDING_STATUS,
- TXBF_SET_SOUNDING_FW_NDPA,
- TXBF_SET_SOUNDING_CLK,
- TXBF_SET_TX_PATH_RESET,
- TXBF_SET_GET_TX_RATE
- };
- enum txbf_get_type {
- TXBF_GET_EXPLICIT_BEAMFORMEE,
- TXBF_GET_EXPLICIT_BEAMFORMER,
- TXBF_GET_MU_MIMO_STA,
- TXBF_GET_MU_MIMO_AP
- };
- /* @2 HAL TXBF related */
- struct _HAL_TXBF_INFO {
- u8 txbf_idx;
- u8 ndpa_idx;
- u8 BW;
- u8 rate;
- struct phydm_timer_list txbf_fw_ndpa_timer;
- #if (DM_ODM_SUPPORT_TYPE == ODM_WIN)
- RT_WORK_ITEM txbf_enter_work_item;
- RT_WORK_ITEM txbf_leave_work_item;
- RT_WORK_ITEM txbf_fw_ndpa_work_item;
- RT_WORK_ITEM txbf_clk_work_item;
- RT_WORK_ITEM txbf_status_work_item;
- RT_WORK_ITEM txbf_rate_work_item;
- RT_WORK_ITEM txbf_reset_tx_path_work_item;
- RT_WORK_ITEM txbf_get_tx_rate_work_item;
- #endif
- };
- #if (BEAMFORMING_SUPPORT == 1)
- void hal_com_txbf_beamform_init(
- void *dm_void);
- void hal_com_txbf_config_gtab(
- void *dm_void);
- void hal_com_txbf_enter_work_item_callback(
- #if (DM_ODM_SUPPORT_TYPE == ODM_WIN)
- void *adapter
- #else
- void *dm_void
- #endif
- );
- void hal_com_txbf_leave_work_item_callback(
- #if (DM_ODM_SUPPORT_TYPE == ODM_WIN)
- void *adapter
- #else
- void *dm_void
- #endif
- );
- void hal_com_txbf_fw_ndpa_work_item_callback(
- #if (DM_ODM_SUPPORT_TYPE == ODM_WIN)
- void *adapter
- #else
- void *dm_void
- #endif
- );
- void hal_com_txbf_clk_work_item_callback(
- #if (DM_ODM_SUPPORT_TYPE == ODM_WIN)
- void *adapter
- #else
- void *dm_void
- #endif
- );
- void hal_com_txbf_reset_tx_path_work_item_callback(
- #if (DM_ODM_SUPPORT_TYPE == ODM_WIN)
- void *adapter
- #else
- void *dm_void
- #endif
- );
- void hal_com_txbf_get_tx_rate_work_item_callback(
- #if (DM_ODM_SUPPORT_TYPE == ODM_WIN)
- void *adapter
- #else
- void *dm_void
- #endif
- );
- void hal_com_txbf_rate_work_item_callback(
- #if (DM_ODM_SUPPORT_TYPE == ODM_WIN)
- void *adapter
- #else
- void *dm_void
- #endif
- );
- void hal_com_txbf_fw_ndpa_timer_callback(
- struct phydm_timer_list *timer);
- void hal_com_txbf_status_work_item_callback(
- #if (DM_ODM_SUPPORT_TYPE == ODM_WIN)
- void *adapter
- #else
- void *dm_void
- #endif
- );
- boolean
- hal_com_txbf_set(
- void *dm_void,
- u8 set_type,
- void *p_in_buf);
- boolean
- hal_com_txbf_get(
- void *adapter,
- u8 get_type,
- void *p_out_buf);
- #else
- #define hal_com_txbf_beamform_init(dm_void) NULL
- #define hal_com_txbf_config_gtab(dm_void) NULL
- #define hal_com_txbf_enter_work_item_callback(_adapter) NULL
- #define hal_com_txbf_leave_work_item_callback(_adapter) NULL
- #define hal_com_txbf_fw_ndpa_work_item_callback(_adapter) NULL
- #define hal_com_txbf_clk_work_item_callback(_adapter) NULL
- #define hal_com_txbf_rate_work_item_callback(_adapter) NULL
- #define hal_com_txbf_fw_ndpa_timer_callback(_adapter) NULL
- #define hal_com_txbf_status_work_item_callback(_adapter) NULL
- #define hal_com_txbf_get(_adapter, _get_type, _pout_buf)
- #endif
- #endif /* @#ifndef __HAL_COM_TXBF_H__ */
|