rtl8xxxu.h (20429444e653ee8242dfbf815c0c37866beb371b) rtl8xxxu.h (c98411dc8cf6c15b8dbbfb37475bcc08b8958880)
1/* SPDX-License-Identifier: GPL-2.0-only */
2/*
3 * Copyright (c) 2014 - 2017 Jes Sorensen <Jes.Sorensen@gmail.com>
4 *
5 * Register definitions taken from original Realtek rtl8723au driver
6 */
7
8#include <asm/byteorder.h>

--- 25 unchanged lines hidden (view full) ---

34#define REALTEK_USB_CMD_REQ 0x05
35#define REALTEK_USB_CMD_IDX 0x00
36
37#define TX_TOTAL_PAGE_NUM 0xf8
38#define TX_TOTAL_PAGE_NUM_8188F 0xf7
39#define TX_TOTAL_PAGE_NUM_8188E 0xa9
40#define TX_TOTAL_PAGE_NUM_8192E 0xf3
41#define TX_TOTAL_PAGE_NUM_8723B 0xf7
1/* SPDX-License-Identifier: GPL-2.0-only */
2/*
3 * Copyright (c) 2014 - 2017 Jes Sorensen <Jes.Sorensen@gmail.com>
4 *
5 * Register definitions taken from original Realtek rtl8723au driver
6 */
7
8#include <asm/byteorder.h>

--- 25 unchanged lines hidden (view full) ---

34#define REALTEK_USB_CMD_REQ 0x05
35#define REALTEK_USB_CMD_IDX 0x00
36
37#define TX_TOTAL_PAGE_NUM 0xf8
38#define TX_TOTAL_PAGE_NUM_8188F 0xf7
39#define TX_TOTAL_PAGE_NUM_8188E 0xa9
40#define TX_TOTAL_PAGE_NUM_8192E 0xf3
41#define TX_TOTAL_PAGE_NUM_8723B 0xf7
42#define TX_TOTAL_PAGE_NUM_8192F 0xf7
42/* (HPQ + LPQ + NPQ + PUBQ) = TX_TOTAL_PAGE_NUM */
43#define TX_PAGE_NUM_PUBQ 0xe7
44#define TX_PAGE_NUM_HI_PQ 0x0c
45#define TX_PAGE_NUM_LO_PQ 0x02
46#define TX_PAGE_NUM_NORM_PQ 0x02
47
48#define TX_PAGE_NUM_PUBQ_8188F 0xe5
49#define TX_PAGE_NUM_HI_PQ_8188F 0x0c

--- 10 unchanged lines hidden (view full) ---

60#define TX_PAGE_NUM_LO_PQ_8192E 0x0c
61#define TX_PAGE_NUM_NORM_PQ_8192E 0x00
62
63#define TX_PAGE_NUM_PUBQ_8723B 0xe7
64#define TX_PAGE_NUM_HI_PQ_8723B 0x0c
65#define TX_PAGE_NUM_LO_PQ_8723B 0x02
66#define TX_PAGE_NUM_NORM_PQ_8723B 0x02
67
43/* (HPQ + LPQ + NPQ + PUBQ) = TX_TOTAL_PAGE_NUM */
44#define TX_PAGE_NUM_PUBQ 0xe7
45#define TX_PAGE_NUM_HI_PQ 0x0c
46#define TX_PAGE_NUM_LO_PQ 0x02
47#define TX_PAGE_NUM_NORM_PQ 0x02
48
49#define TX_PAGE_NUM_PUBQ_8188F 0xe5
50#define TX_PAGE_NUM_HI_PQ_8188F 0x0c

--- 10 unchanged lines hidden (view full) ---

61#define TX_PAGE_NUM_LO_PQ_8192E 0x0c
62#define TX_PAGE_NUM_NORM_PQ_8192E 0x00
63
64#define TX_PAGE_NUM_PUBQ_8723B 0xe7
65#define TX_PAGE_NUM_HI_PQ_8723B 0x0c
66#define TX_PAGE_NUM_LO_PQ_8723B 0x02
67#define TX_PAGE_NUM_NORM_PQ_8723B 0x02
68
69#define TX_PAGE_NUM_PUBQ_8192F 0xde
70#define TX_PAGE_NUM_HI_PQ_8192F 0x08
71#define TX_PAGE_NUM_LO_PQ_8192F 0x08
72#define TX_PAGE_NUM_NORM_PQ_8192F 0x08
73
68#define RTL_FW_PAGE_SIZE 4096
69#define RTL8XXXU_FIRMWARE_POLL_MAX 1000
70
71#define RTL8723A_CHANNEL_GROUPS 3
72#define RTL8723A_MAX_RF_PATHS 2
73#define RTL8723B_CHANNEL_GROUPS 6
74#define RTL8723B_TX_COUNT 4
75#define RTL8723B_MAX_RF_PATHS 4
76#define RTL8XXXU_MAX_CHANNEL_GROUPS 6
77#define RF6052_MAX_TX_PWR 0x3f
78
79#define EFUSE_MAP_LEN 512
80#define EFUSE_MAX_SECTION_8723A 64
81#define EFUSE_REAL_CONTENT_LEN_8723A 512
82#define EFUSE_BT_MAP_LEN_8723A 1024
83#define EFUSE_MAX_WORD_UNIT 4
74#define RTL_FW_PAGE_SIZE 4096
75#define RTL8XXXU_FIRMWARE_POLL_MAX 1000
76
77#define RTL8723A_CHANNEL_GROUPS 3
78#define RTL8723A_MAX_RF_PATHS 2
79#define RTL8723B_CHANNEL_GROUPS 6
80#define RTL8723B_TX_COUNT 4
81#define RTL8723B_MAX_RF_PATHS 4
82#define RTL8XXXU_MAX_CHANNEL_GROUPS 6
83#define RF6052_MAX_TX_PWR 0x3f
84
85#define EFUSE_MAP_LEN 512
86#define EFUSE_MAX_SECTION_8723A 64
87#define EFUSE_REAL_CONTENT_LEN_8723A 512
88#define EFUSE_BT_MAP_LEN_8723A 1024
89#define EFUSE_MAX_WORD_UNIT 4
90#define EFUSE_UNDEFINED 0xff
84
85enum rtl8xxxu_rtl_chip {
86 RTL8192S = 0x81920,
87 RTL8191S = 0x81910,
88 RTL8192C = 0x8192c,
89 RTL8191C = 0x8191c,
90 RTL8188C = 0x8188c,
91 RTL8188R = 0x81889,

--- 8 unchanged lines hidden (view full) ---

100 RTL8814A = 0x8814a,
101 RTL8881A = 0x8881a,
102 RTL8821B = 0x8821b,
103 RTL8822B = 0x8822b,
104 RTL8703B = 0x8703b,
105 RTL8195A = 0x8195a,
106 RTL8188F = 0x8188f,
107 RTL8710B = 0x8710b,
91
92enum rtl8xxxu_rtl_chip {
93 RTL8192S = 0x81920,
94 RTL8191S = 0x81910,
95 RTL8192C = 0x8192c,
96 RTL8191C = 0x8191c,
97 RTL8188C = 0x8188c,
98 RTL8188R = 0x81889,

--- 8 unchanged lines hidden (view full) ---

107 RTL8814A = 0x8814a,
108 RTL8881A = 0x8881a,
109 RTL8821B = 0x8821b,
110 RTL8822B = 0x8822b,
111 RTL8703B = 0x8703b,
112 RTL8195A = 0x8195a,
113 RTL8188F = 0x8188f,
114 RTL8710B = 0x8710b,
115 RTL8192F = 0x8192f,
108};
109
110enum rtl8xxxu_rx_type {
111 RX_TYPE_DATA_PKT = 0,
112 RX_TYPE_C2H = 1,
113 RX_TYPE_ERROR = -1
114};
115

--- 1125 unchanged lines hidden (view full) ---

1241 u8 res5[5];
1242 u8 country_code; /* 0x13b */
1243 u8 res6[0x84];
1244 u8 vid[2]; /* 0x1c0 */
1245 u8 pid[2]; /* 0x1c2 */
1246 u8 res7[0x3c];
1247} __packed;
1248
116};
117
118enum rtl8xxxu_rx_type {
119 RX_TYPE_DATA_PKT = 0,
120 RX_TYPE_C2H = 1,
121 RX_TYPE_ERROR = -1
122};
123

--- 1125 unchanged lines hidden (view full) ---

1249 u8 res5[5];
1250 u8 country_code; /* 0x13b */
1251 u8 res6[0x84];
1252 u8 vid[2]; /* 0x1c0 */
1253 u8 pid[2]; /* 0x1c2 */
1254 u8 res7[0x3c];
1255} __packed;
1256
1257struct rtl8192fu_efuse {
1258 __le16 rtl_id;
1259 u8 res0[0x0e];
1260 struct rtl8192eu_efuse_tx_power tx_power_index_A; /* 0x10 */
1261 struct rtl8192eu_efuse_tx_power tx_power_index_B; /* 0x3a */
1262 u8 res2[0x54];
1263 u8 channel_plan; /* 0xb8 */
1264 u8 xtal_k; /* 0xb9 */
1265 u8 thermal_meter; /* 0xba */
1266 u8 iqk_lck; /* 0xbb */
1267 u8 pa_type; /* 0xbc */
1268 u8 lna_type_2g; /* 0xbd */
1269 u8 res3[1];
1270 u8 lna_type_5g; /* 0xbf */
1271 u8 res4[1];
1272 u8 rf_board_option; /* 0xc1 */
1273 u8 rf_feature_option; /* 0xc2 */
1274 u8 rf_bt_setting; /* 0xc3 */
1275 u8 eeprom_version; /* 0xc4 */
1276 u8 eeprom_customer_id; /* 0xc5 */
1277 u8 res5[3];
1278 u8 rf_antenna_option; /* 0xc9 */
1279 u8 rfe_option; /* 0xca */
1280 u8 country_code; /* 0xcb */
1281 u8 res6[52];
1282 u8 vid[2]; /* 0x100 */
1283 u8 pid[2]; /* 0x102 */
1284 u8 usb_optional_function; /* 0x104 */
1285 u8 res7[2];
1286 u8 mac_addr[ETH_ALEN]; /* 0x107 */
1287 u8 device_info[80]; /* 0x10d */
1288 u8 res9[163];
1289} __packed;
1290
1249struct rtl8xxxu_reg8val {
1250 u16 reg;
1251 u8 val;
1252};
1253
1254struct rtl8xxxu_reg32val {
1255 u16 reg;
1256 u32 val;

--- 18 unchanged lines hidden (view full) ---

1275 u16 rf_sw_ctrl;
1276};
1277
1278#define H2C_MAX_MBOX 4
1279#define H2C_EXT BIT(7)
1280#define H2C_JOIN_BSS_DISCONNECT 0
1281#define H2C_JOIN_BSS_CONNECT 1
1282
1291struct rtl8xxxu_reg8val {
1292 u16 reg;
1293 u8 val;
1294};
1295
1296struct rtl8xxxu_reg32val {
1297 u16 reg;
1298 u32 val;

--- 18 unchanged lines hidden (view full) ---

1317 u16 rf_sw_ctrl;
1318};
1319
1320#define H2C_MAX_MBOX 4
1321#define H2C_EXT BIT(7)
1322#define H2C_JOIN_BSS_DISCONNECT 0
1323#define H2C_JOIN_BSS_CONNECT 1
1324
1325#define H2C_MACID_ROLE_STA 1
1326#define H2C_MACID_ROLE_AP 2
1327
1283/*
1284 * H2C (firmware) commands differ between the older generation chips
1285 * 8188[cr]u, 819[12]cu, and 8723au, and the more recent chips 8723bu,
1286 * 8192[de]u, 8192eu, and 8812.
1287 */
1288enum h2c_cmd_8723a {
1289 H2C_SET_POWER_MODE = 1,
1290 H2C_JOIN_BSS_REPORT = 2,

--- 431 unchanged lines hidden (view full) ---

1722 bool atc_status;
1723 int cfo_tail[2];
1724 u8 crystal_cap;
1725 u32 packet_count;
1726 u32 packet_count_pre;
1727};
1728
1729#define RTL8XXXU_HW_LED_CONTROL 2
1328/*
1329 * H2C (firmware) commands differ between the older generation chips
1330 * 8188[cr]u, 819[12]cu, and 8723au, and the more recent chips 8723bu,
1331 * 8192[de]u, 8192eu, and 8812.
1332 */
1333enum h2c_cmd_8723a {
1334 H2C_SET_POWER_MODE = 1,
1335 H2C_JOIN_BSS_REPORT = 2,

--- 431 unchanged lines hidden (view full) ---

1767 bool atc_status;
1768 int cfo_tail[2];
1769 u8 crystal_cap;
1770 u32 packet_count;
1771 u32 packet_count_pre;
1772};
1773
1774#define RTL8XXXU_HW_LED_CONTROL 2
1775#define RTL8XXXU_MAX_MAC_ID_NUM 128
1776#define RTL8XXXU_BC_MC_MACID 0
1730
1731struct rtl8xxxu_priv {
1732 struct ieee80211_hw *hw;
1733 struct usb_device *udev;
1734 struct rtl8xxxu_fileops *fops;
1735
1736 spinlock_t tx_urb_lock;
1737 struct list_head tx_urb_free_list;

--- 48 unchanged lines hidden (view full) ---

1786 u32 usb_interrupts:1;
1787 u32 ep_tx_high_queue:1;
1788 u32 ep_tx_normal_queue:1;
1789 u32 ep_tx_low_queue:1;
1790 u32 rx_buf_aggregation:1;
1791 u32 cck_agc_report_type:1;
1792 u32 cck_new_agc:1;
1793 u8 default_crystal_cap;
1777
1778struct rtl8xxxu_priv {
1779 struct ieee80211_hw *hw;
1780 struct usb_device *udev;
1781 struct rtl8xxxu_fileops *fops;
1782
1783 spinlock_t tx_urb_lock;
1784 struct list_head tx_urb_free_list;

--- 48 unchanged lines hidden (view full) ---

1833 u32 usb_interrupts:1;
1834 u32 ep_tx_high_queue:1;
1835 u32 ep_tx_normal_queue:1;
1836 u32 ep_tx_low_queue:1;
1837 u32 rx_buf_aggregation:1;
1838 u32 cck_agc_report_type:1;
1839 u32 cck_new_agc:1;
1840 u8 default_crystal_cap;
1841 u8 rfe_type;
1794 unsigned int pipe_interrupt;
1795 unsigned int pipe_in;
1796 unsigned int pipe_out[TXDESC_QUEUE_MAX];
1797 u8 out_ep[RTL8XXXU_OUT_ENDPOINTS];
1798 u8 ep_tx_count;
1799 u8 rf_paths;
1800 u8 rx_paths;
1801 u8 tx_paths;
1802 u32 rege94;
1803 u32 rege9c;
1804 u32 regeb4;
1805 u32 regebc;
1842 unsigned int pipe_interrupt;
1843 unsigned int pipe_in;
1844 unsigned int pipe_out[TXDESC_QUEUE_MAX];
1845 u8 out_ep[RTL8XXXU_OUT_ENDPOINTS];
1846 u8 ep_tx_count;
1847 u8 rf_paths;
1848 u8 rx_paths;
1849 u8 tx_paths;
1850 u32 rege94;
1851 u32 rege9c;
1852 u32 regeb4;
1853 u32 regebc;
1806 u32 regrcr;
1807 int next_mbox;
1808 int nr_out_eps;
1809
1810 struct mutex h2c_mutex;
1811 /* Protect the indirect register accesses of RTL8710BU. */
1812 struct mutex syson_indirect_access_mutex;
1813
1814 struct usb_anchor rx_anchor;

--- 11 unchanged lines hidden (view full) ---

1826 u8 raw[EFUSE_MAP_LEN];
1827 struct rtl8723au_efuse efuse8723;
1828 struct rtl8723bu_efuse efuse8723bu;
1829 struct rtl8192cu_efuse efuse8192;
1830 struct rtl8192eu_efuse efuse8192eu;
1831 struct rtl8188fu_efuse efuse8188fu;
1832 struct rtl8188eu_efuse efuse8188eu;
1833 struct rtl8710bu_efuse efuse8710bu;
1854 int next_mbox;
1855 int nr_out_eps;
1856
1857 struct mutex h2c_mutex;
1858 /* Protect the indirect register accesses of RTL8710BU. */
1859 struct mutex syson_indirect_access_mutex;
1860
1861 struct usb_anchor rx_anchor;

--- 11 unchanged lines hidden (view full) ---

1873 u8 raw[EFUSE_MAP_LEN];
1874 struct rtl8723au_efuse efuse8723;
1875 struct rtl8723bu_efuse efuse8723bu;
1876 struct rtl8192cu_efuse efuse8192;
1877 struct rtl8192eu_efuse efuse8192eu;
1878 struct rtl8188fu_efuse efuse8188fu;
1879 struct rtl8188eu_efuse efuse8188eu;
1880 struct rtl8710bu_efuse efuse8710bu;
1881 struct rtl8192fu_efuse efuse8192fu;
1834 } efuse_wifi;
1835 u32 adda_backup[RTL8XXXU_ADDA_REGS];
1836 u32 mac_backup[RTL8XXXU_MAC_REGS];
1837 u32 bb_backup[RTL8XXXU_BB_REGS];
1838 u32 bb_recovery_backup[RTL8XXXU_BB_REGS];
1839 enum rtl8xxxu_rtl_chip rtl_chip;
1840 u8 pi_enabled:1;
1841 u8 no_pape:1;

--- 4 unchanged lines hidden (view full) ---

1846 /*
1847 * Only one virtual interface permitted because only STA mode
1848 * is supported and no iface_combinations are provided.
1849 */
1850 struct ieee80211_vif *vif;
1851 struct delayed_work ra_watchdog;
1852 struct work_struct c2hcmd_work;
1853 struct sk_buff_head c2hcmd_queue;
1882 } efuse_wifi;
1883 u32 adda_backup[RTL8XXXU_ADDA_REGS];
1884 u32 mac_backup[RTL8XXXU_MAC_REGS];
1885 u32 bb_backup[RTL8XXXU_BB_REGS];
1886 u32 bb_recovery_backup[RTL8XXXU_BB_REGS];
1887 enum rtl8xxxu_rtl_chip rtl_chip;
1888 u8 pi_enabled:1;
1889 u8 no_pape:1;

--- 4 unchanged lines hidden (view full) ---

1894 /*
1895 * Only one virtual interface permitted because only STA mode
1896 * is supported and no iface_combinations are provided.
1897 */
1898 struct ieee80211_vif *vif;
1899 struct delayed_work ra_watchdog;
1900 struct work_struct c2hcmd_work;
1901 struct sk_buff_head c2hcmd_queue;
1902 struct work_struct update_beacon_work;
1854 struct rtl8xxxu_btcoex bt_coex;
1855 struct rtl8xxxu_ra_report ra_report;
1856 struct rtl8xxxu_cfo_tracking cfo_tracking;
1857 struct rtl8xxxu_ra_info ra_info;
1858
1859 bool led_registered;
1860 char led_name[32];
1861 struct led_classdev led_cdev;
1903 struct rtl8xxxu_btcoex bt_coex;
1904 struct rtl8xxxu_ra_report ra_report;
1905 struct rtl8xxxu_cfo_tracking cfo_tracking;
1906 struct rtl8xxxu_ra_info ra_info;
1907
1908 bool led_registered;
1909 char led_name[32];
1910 struct led_classdev led_cdev;
1911 DECLARE_BITMAP(mac_id_map, RTL8XXXU_MAX_MAC_ID_NUM);
1862};
1863
1912};
1913
1914struct rtl8xxxu_sta_info {
1915 struct ieee80211_sta *sta;
1916 struct ieee80211_vif *vif;
1917
1918 u8 macid;
1919};
1920
1864struct rtl8xxxu_rx_urb {
1865 struct urb urb;
1866 struct ieee80211_hw *hw;
1867 struct list_head list;
1868};
1869
1870struct rtl8xxxu_tx_urb {
1871 struct urb urb;

--- 26 unchanged lines hidden (view full) ---

1898 void (*init_statistics) (struct rtl8xxxu_priv *priv);
1899 void (*init_burst) (struct rtl8xxxu_priv *priv);
1900 void (*enable_rf) (struct rtl8xxxu_priv *priv);
1901 void (*disable_rf) (struct rtl8xxxu_priv *priv);
1902 void (*usb_quirks) (struct rtl8xxxu_priv *priv);
1903 void (*set_tx_power) (struct rtl8xxxu_priv *priv, int channel,
1904 bool ht40);
1905 void (*update_rate_mask) (struct rtl8xxxu_priv *priv,
1921struct rtl8xxxu_rx_urb {
1922 struct urb urb;
1923 struct ieee80211_hw *hw;
1924 struct list_head list;
1925};
1926
1927struct rtl8xxxu_tx_urb {
1928 struct urb urb;

--- 26 unchanged lines hidden (view full) ---

1955 void (*init_statistics) (struct rtl8xxxu_priv *priv);
1956 void (*init_burst) (struct rtl8xxxu_priv *priv);
1957 void (*enable_rf) (struct rtl8xxxu_priv *priv);
1958 void (*disable_rf) (struct rtl8xxxu_priv *priv);
1959 void (*usb_quirks) (struct rtl8xxxu_priv *priv);
1960 void (*set_tx_power) (struct rtl8xxxu_priv *priv, int channel,
1961 bool ht40);
1962 void (*update_rate_mask) (struct rtl8xxxu_priv *priv,
1906 u32 ramask, u8 rateid, int sgi, int txbw_40mhz);
1963 u32 ramask, u8 rateid, int sgi, int txbw_40mhz,
1964 u8 macid);
1907 void (*report_connect) (struct rtl8xxxu_priv *priv,
1965 void (*report_connect) (struct rtl8xxxu_priv *priv,
1908 u8 macid, bool connect);
1966 u8 macid, u8 role, bool connect);
1909 void (*report_rssi) (struct rtl8xxxu_priv *priv, u8 macid, u8 rssi);
1910 void (*fill_txdesc) (struct ieee80211_hw *hw, struct ieee80211_hdr *hdr,
1911 struct ieee80211_tx_info *tx_info,
1912 struct rtl8xxxu_txdesc32 *tx_desc, bool sgi,
1913 bool short_preamble, bool ampdu_enable,
1967 void (*report_rssi) (struct rtl8xxxu_priv *priv, u8 macid, u8 rssi);
1968 void (*fill_txdesc) (struct ieee80211_hw *hw, struct ieee80211_hdr *hdr,
1969 struct ieee80211_tx_info *tx_info,
1970 struct rtl8xxxu_txdesc32 *tx_desc, bool sgi,
1971 bool short_preamble, bool ampdu_enable,
1914 u32 rts_rate);
1972 u32 rts_rate, u8 macid);
1915 void (*set_crystal_cap) (struct rtl8xxxu_priv *priv, u8 crystal_cap);
1916 s8 (*cck_rssi) (struct rtl8xxxu_priv *priv, struct rtl8723au_phy_stats *phy_stats);
1917 int (*led_classdev_brightness_set) (struct led_classdev *led_cdev,
1918 enum led_brightness brightness);
1919 int writeN_block_size;
1920 int rx_agg_buf_size;
1921 char tx_desc_size;
1922 char rx_desc_size;
1923 u8 has_s0s1:1;
1924 u8 has_tx_report:1;
1925 u8 gen2_thermal_meter:1;
1926 u8 needs_full_init:1;
1927 u8 init_reg_rxfltmap:1;
1928 u8 init_reg_pkt_life_time:1;
1929 u8 init_reg_hmtfr:1;
1930 u8 ampdu_max_time;
1931 u8 ustime_tsf_edca;
1973 void (*set_crystal_cap) (struct rtl8xxxu_priv *priv, u8 crystal_cap);
1974 s8 (*cck_rssi) (struct rtl8xxxu_priv *priv, struct rtl8723au_phy_stats *phy_stats);
1975 int (*led_classdev_brightness_set) (struct led_classdev *led_cdev,
1976 enum led_brightness brightness);
1977 int writeN_block_size;
1978 int rx_agg_buf_size;
1979 char tx_desc_size;
1980 char rx_desc_size;
1981 u8 has_s0s1:1;
1982 u8 has_tx_report:1;
1983 u8 gen2_thermal_meter:1;
1984 u8 needs_full_init:1;
1985 u8 init_reg_rxfltmap:1;
1986 u8 init_reg_pkt_life_time:1;
1987 u8 init_reg_hmtfr:1;
1988 u8 ampdu_max_time;
1989 u8 ustime_tsf_edca;
1990 u16 max_aggr_num;
1991 u8 supports_ap:1;
1992 u16 max_macid_num;
1932 u32 adda_1t_init;
1933 u32 adda_1t_path_on;
1934 u32 adda_2t_path_on_a;
1935 u32 adda_2t_path_on_b;
1936 u16 trxff_boundary;
1937 u8 pbp_rx;
1938 u8 pbp_tx;
1939 const struct rtl8xxxu_reg8val *mactable;

--- 70 unchanged lines hidden (view full) ---

2010 struct h2c_cmd *h2c, int len);
2011int rtl8xxxu_active_to_lps(struct rtl8xxxu_priv *priv);
2012void rtl8xxxu_disabled_to_emu(struct rtl8xxxu_priv *priv);
2013int rtl8xxxu_init_llt_table(struct rtl8xxxu_priv *priv);
2014void rtl8xxxu_gen1_phy_iq_calibrate(struct rtl8xxxu_priv *priv);
2015void rtl8xxxu_gen1_init_phy_bb(struct rtl8xxxu_priv *priv);
2016void rtl8xxxu_gen1_set_tx_power(struct rtl8xxxu_priv *priv,
2017 int channel, bool ht40);
1993 u32 adda_1t_init;
1994 u32 adda_1t_path_on;
1995 u32 adda_2t_path_on_a;
1996 u32 adda_2t_path_on_b;
1997 u16 trxff_boundary;
1998 u8 pbp_rx;
1999 u8 pbp_tx;
2000 const struct rtl8xxxu_reg8val *mactable;

--- 70 unchanged lines hidden (view full) ---

2071 struct h2c_cmd *h2c, int len);
2072int rtl8xxxu_active_to_lps(struct rtl8xxxu_priv *priv);
2073void rtl8xxxu_disabled_to_emu(struct rtl8xxxu_priv *priv);
2074int rtl8xxxu_init_llt_table(struct rtl8xxxu_priv *priv);
2075void rtl8xxxu_gen1_phy_iq_calibrate(struct rtl8xxxu_priv *priv);
2076void rtl8xxxu_gen1_init_phy_bb(struct rtl8xxxu_priv *priv);
2077void rtl8xxxu_gen1_set_tx_power(struct rtl8xxxu_priv *priv,
2078 int channel, bool ht40);
2079void rtl8188f_channel_to_group(int channel, int *group, int *cck_group);
2018void rtl8188f_set_tx_power(struct rtl8xxxu_priv *priv,
2019 int channel, bool ht40);
2020void rtl8xxxu_gen1_config_channel(struct ieee80211_hw *hw);
2021void rtl8xxxu_gen2_config_channel(struct ieee80211_hw *hw);
2022void rtl8xxxu_gen1_usb_quirks(struct rtl8xxxu_priv *priv);
2023void rtl8xxxu_gen2_usb_quirks(struct rtl8xxxu_priv *priv);
2024void rtl8xxxu_update_rate_mask(struct rtl8xxxu_priv *priv,
2080void rtl8188f_set_tx_power(struct rtl8xxxu_priv *priv,
2081 int channel, bool ht40);
2082void rtl8xxxu_gen1_config_channel(struct ieee80211_hw *hw);
2083void rtl8xxxu_gen2_config_channel(struct ieee80211_hw *hw);
2084void rtl8xxxu_gen1_usb_quirks(struct rtl8xxxu_priv *priv);
2085void rtl8xxxu_gen2_usb_quirks(struct rtl8xxxu_priv *priv);
2086void rtl8xxxu_update_rate_mask(struct rtl8xxxu_priv *priv,
2025 u32 ramask, u8 rateid, int sgi, int txbw_40mhz);
2087 u32 ramask, u8 rateid, int sgi, int txbw_40mhz, u8 macid);
2026void rtl8xxxu_gen2_update_rate_mask(struct rtl8xxxu_priv *priv,
2088void rtl8xxxu_gen2_update_rate_mask(struct rtl8xxxu_priv *priv,
2027 u32 ramask, u8 rateid, int sgi, int txbw_40mhz);
2089 u32 ramask, u8 rateid, int sgi, int txbw_40mhz, u8 macid);
2028void rtl8xxxu_gen1_report_connect(struct rtl8xxxu_priv *priv,
2090void rtl8xxxu_gen1_report_connect(struct rtl8xxxu_priv *priv,
2029 u8 macid, bool connect);
2091 u8 macid, u8 role, bool connect);
2030void rtl8xxxu_gen2_report_connect(struct rtl8xxxu_priv *priv,
2092void rtl8xxxu_gen2_report_connect(struct rtl8xxxu_priv *priv,
2031 u8 macid, bool connect);
2093 u8 macid, u8 role, bool connect);
2032void rtl8xxxu_gen1_report_rssi(struct rtl8xxxu_priv *priv, u8 macid, u8 rssi);
2033void rtl8xxxu_gen2_report_rssi(struct rtl8xxxu_priv *priv, u8 macid, u8 rssi);
2034void rtl8xxxu_gen1_init_aggregation(struct rtl8xxxu_priv *priv);
2035void rtl8xxxu_gen1_enable_rf(struct rtl8xxxu_priv *priv);
2036void rtl8xxxu_gen1_disable_rf(struct rtl8xxxu_priv *priv);
2037void rtl8xxxu_gen2_disable_rf(struct rtl8xxxu_priv *priv);
2038void rtl8xxxu_init_burst(struct rtl8xxxu_priv *priv);
2039int rtl8xxxu_parse_rxdesc16(struct rtl8xxxu_priv *priv, struct sk_buff *skb);

--- 12 unchanged lines hidden (view full) ---

2052bool rtl8xxxu_simularity_compare(struct rtl8xxxu_priv *priv,
2053 int result[][8], int c1, int c2);
2054bool rtl8xxxu_gen2_simularity_compare(struct rtl8xxxu_priv *priv,
2055 int result[][8], int c1, int c2);
2056void rtl8xxxu_fill_txdesc_v1(struct ieee80211_hw *hw, struct ieee80211_hdr *hdr,
2057 struct ieee80211_tx_info *tx_info,
2058 struct rtl8xxxu_txdesc32 *tx_desc, bool sgi,
2059 bool short_preamble, bool ampdu_enable,
2094void rtl8xxxu_gen1_report_rssi(struct rtl8xxxu_priv *priv, u8 macid, u8 rssi);
2095void rtl8xxxu_gen2_report_rssi(struct rtl8xxxu_priv *priv, u8 macid, u8 rssi);
2096void rtl8xxxu_gen1_init_aggregation(struct rtl8xxxu_priv *priv);
2097void rtl8xxxu_gen1_enable_rf(struct rtl8xxxu_priv *priv);
2098void rtl8xxxu_gen1_disable_rf(struct rtl8xxxu_priv *priv);
2099void rtl8xxxu_gen2_disable_rf(struct rtl8xxxu_priv *priv);
2100void rtl8xxxu_init_burst(struct rtl8xxxu_priv *priv);
2101int rtl8xxxu_parse_rxdesc16(struct rtl8xxxu_priv *priv, struct sk_buff *skb);

--- 12 unchanged lines hidden (view full) ---

2114bool rtl8xxxu_simularity_compare(struct rtl8xxxu_priv *priv,
2115 int result[][8], int c1, int c2);
2116bool rtl8xxxu_gen2_simularity_compare(struct rtl8xxxu_priv *priv,
2117 int result[][8], int c1, int c2);
2118void rtl8xxxu_fill_txdesc_v1(struct ieee80211_hw *hw, struct ieee80211_hdr *hdr,
2119 struct ieee80211_tx_info *tx_info,
2120 struct rtl8xxxu_txdesc32 *tx_desc, bool sgi,
2121 bool short_preamble, bool ampdu_enable,
2060 u32 rts_rate);
2122 u32 rts_rate, u8 macid);
2061void rtl8xxxu_fill_txdesc_v2(struct ieee80211_hw *hw, struct ieee80211_hdr *hdr,
2062 struct ieee80211_tx_info *tx_info,
2063 struct rtl8xxxu_txdesc32 *tx_desc32, bool sgi,
2064 bool short_preamble, bool ampdu_enable,
2123void rtl8xxxu_fill_txdesc_v2(struct ieee80211_hw *hw, struct ieee80211_hdr *hdr,
2124 struct ieee80211_tx_info *tx_info,
2125 struct rtl8xxxu_txdesc32 *tx_desc32, bool sgi,
2126 bool short_preamble, bool ampdu_enable,
2065 u32 rts_rate);
2127 u32 rts_rate, u8 macid);
2066void rtl8xxxu_fill_txdesc_v3(struct ieee80211_hw *hw, struct ieee80211_hdr *hdr,
2067 struct ieee80211_tx_info *tx_info,
2068 struct rtl8xxxu_txdesc32 *tx_desc32, bool sgi,
2069 bool short_preamble, bool ampdu_enable,
2128void rtl8xxxu_fill_txdesc_v3(struct ieee80211_hw *hw, struct ieee80211_hdr *hdr,
2129 struct ieee80211_tx_info *tx_info,
2130 struct rtl8xxxu_txdesc32 *tx_desc32, bool sgi,
2131 bool short_preamble, bool ampdu_enable,
2070 u32 rts_rate);
2132 u32 rts_rate, u8 macid);
2071void rtl8723bu_set_ps_tdma(struct rtl8xxxu_priv *priv,
2072 u8 arg1, u8 arg2, u8 arg3, u8 arg4, u8 arg5);
2073void rtl8723bu_phy_init_antenna_selection(struct rtl8xxxu_priv *priv);
2074void rtl8723a_set_crystal_cap(struct rtl8xxxu_priv *priv, u8 crystal_cap);
2075void rtl8188f_set_crystal_cap(struct rtl8xxxu_priv *priv, u8 crystal_cap);
2076s8 rtl8723a_cck_rssi(struct rtl8xxxu_priv *priv, struct rtl8723au_phy_stats *phy_stats);
2077void rtl8xxxu_update_ra_report(struct rtl8xxxu_ra_report *rarpt,
2078 u8 rate, u8 sgi, u8 bw);
2079void rtl8188e_ra_info_init_all(struct rtl8xxxu_ra_info *ra);
2080void rtl8188e_handle_ra_tx_report2(struct rtl8xxxu_priv *priv, struct sk_buff *skb);
2081
2133void rtl8723bu_set_ps_tdma(struct rtl8xxxu_priv *priv,
2134 u8 arg1, u8 arg2, u8 arg3, u8 arg4, u8 arg5);
2135void rtl8723bu_phy_init_antenna_selection(struct rtl8xxxu_priv *priv);
2136void rtl8723a_set_crystal_cap(struct rtl8xxxu_priv *priv, u8 crystal_cap);
2137void rtl8188f_set_crystal_cap(struct rtl8xxxu_priv *priv, u8 crystal_cap);
2138s8 rtl8723a_cck_rssi(struct rtl8xxxu_priv *priv, struct rtl8723au_phy_stats *phy_stats);
2139void rtl8xxxu_update_ra_report(struct rtl8xxxu_ra_report *rarpt,
2140 u8 rate, u8 sgi, u8 bw);
2141void rtl8188e_ra_info_init_all(struct rtl8xxxu_ra_info *ra);
2142void rtl8188e_handle_ra_tx_report2(struct rtl8xxxu_priv *priv, struct sk_buff *skb);
2143
2144extern struct rtl8xxxu_fileops rtl8192fu_fops;
2082extern struct rtl8xxxu_fileops rtl8710bu_fops;
2083extern struct rtl8xxxu_fileops rtl8188fu_fops;
2084extern struct rtl8xxxu_fileops rtl8188eu_fops;
2085extern struct rtl8xxxu_fileops rtl8192cu_fops;
2086extern struct rtl8xxxu_fileops rtl8192eu_fops;
2087extern struct rtl8xxxu_fileops rtl8723au_fops;
2088extern struct rtl8xxxu_fileops rtl8723bu_fops;
2145extern struct rtl8xxxu_fileops rtl8710bu_fops;
2146extern struct rtl8xxxu_fileops rtl8188fu_fops;
2147extern struct rtl8xxxu_fileops rtl8188eu_fops;
2148extern struct rtl8xxxu_fileops rtl8192cu_fops;
2149extern struct rtl8xxxu_fileops rtl8192eu_fops;
2150extern struct rtl8xxxu_fileops rtl8723au_fops;
2151extern struct rtl8xxxu_fileops rtl8723bu_fops;