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; |