Linux-libre 4.14.14-gnu
[librecmc/linux-libre.git] / drivers / staging / rtlwifi / phydm / rtl_phydm.h
1 /******************************************************************************
2  *
3  * Copyright(c) 2007 - 2016  Realtek Corporation.
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  * The full GNU General Public License is included in this distribution in the
15  * file called LICENSE.
16  *
17  * Contact Information:
18  * wlanfae <wlanfae@realtek.com>
19  * Realtek Corporation, No. 2, Innovation Road II, Hsinchu Science Park,
20  * Hsinchu 300, Taiwan.
21  *
22  * Larry Finger <Larry.Finger@lwfinger.net>
23  *
24  *****************************************************************************/
25 #ifndef __RTL_PHYDM_H__
26 #define __RTL_PHYDM_H__
27
28 struct rtl_phydm_ops *rtl_phydm_get_ops_pointer(void);
29
30 #define rtlpriv_to_phydm(priv)                                                 \
31         ((struct phy_dm_struct *)((priv)->phydm.internal))
32
33 u8 phy_get_tx_power_index(void *adapter, u8 rf_path, u8 rate,
34                           enum ht_channel_width bandwidth, u8 channel);
35 void phy_set_tx_power_index_by_rs(void *adapter, u8 ch, u8 path, u8 rs);
36 void phy_store_tx_power_by_rate(void *adapter, u32 band, u32 rfpath, u32 txnum,
37                                 u32 regaddr, u32 bitmask, u32 data);
38 void phy_set_tx_power_limit(void *dm, u8 *regulation, u8 *band, u8 *bandwidth,
39                             u8 *rate_section, u8 *rf_path, u8 *channel,
40                             u8 *power_limit);
41
42 void rtl_hal_update_ra_mask(void *adapter, struct rtl_sta_info *psta,
43                             u8 rssi_level);
44
45 #endif