diff options
Diffstat (limited to 'include/linux')
-rw-r--r-- | include/linux/bcma/bcma.h | 2 | ||||
-rw-r--r-- | include/linux/bcma/bcma_driver_chipcommon.h | 51 | ||||
-rw-r--r-- | include/linux/bcma/bcma_driver_gmac_cmn.h | 100 | ||||
-rw-r--r-- | include/linux/nl80211.h | 53 |
4 files changed, 205 insertions, 1 deletions
diff --git a/include/linux/bcma/bcma.h b/include/linux/bcma/bcma.h index 03b2f30d2ace..1954a4e305a3 100644 --- a/include/linux/bcma/bcma.h +++ b/include/linux/bcma/bcma.h | |||
@@ -7,6 +7,7 @@ | |||
7 | #include <linux/bcma/bcma_driver_chipcommon.h> | 7 | #include <linux/bcma/bcma_driver_chipcommon.h> |
8 | #include <linux/bcma/bcma_driver_pci.h> | 8 | #include <linux/bcma/bcma_driver_pci.h> |
9 | #include <linux/bcma/bcma_driver_mips.h> | 9 | #include <linux/bcma/bcma_driver_mips.h> |
10 | #include <linux/bcma/bcma_driver_gmac_cmn.h> | ||
10 | #include <linux/ssb/ssb.h> /* SPROM sharing */ | 11 | #include <linux/ssb/ssb.h> /* SPROM sharing */ |
11 | 12 | ||
12 | #include "bcma_regs.h" | 13 | #include "bcma_regs.h" |
@@ -252,6 +253,7 @@ struct bcma_bus { | |||
252 | struct bcma_drv_cc drv_cc; | 253 | struct bcma_drv_cc drv_cc; |
253 | struct bcma_drv_pci drv_pci; | 254 | struct bcma_drv_pci drv_pci; |
254 | struct bcma_drv_mips drv_mips; | 255 | struct bcma_drv_mips drv_mips; |
256 | struct bcma_drv_gmac_cmn drv_gmac_cmn; | ||
255 | 257 | ||
256 | /* We decided to share SPROM struct with SSB as long as we do not need | 258 | /* We decided to share SPROM struct with SSB as long as we do not need |
257 | * any hacks for BCMA. This simplifies drivers code. */ | 259 | * any hacks for BCMA. This simplifies drivers code. */ |
diff --git a/include/linux/bcma/bcma_driver_chipcommon.h b/include/linux/bcma/bcma_driver_chipcommon.h index fbd0d49dc4d2..3c80885fa829 100644 --- a/include/linux/bcma/bcma_driver_chipcommon.h +++ b/include/linux/bcma/bcma_driver_chipcommon.h | |||
@@ -24,7 +24,7 @@ | |||
24 | #define BCMA_CC_FLASHT_NONE 0x00000000 /* No flash */ | 24 | #define BCMA_CC_FLASHT_NONE 0x00000000 /* No flash */ |
25 | #define BCMA_CC_FLASHT_STSER 0x00000100 /* ST serial flash */ | 25 | #define BCMA_CC_FLASHT_STSER 0x00000100 /* ST serial flash */ |
26 | #define BCMA_CC_FLASHT_ATSER 0x00000200 /* Atmel serial flash */ | 26 | #define BCMA_CC_FLASHT_ATSER 0x00000200 /* Atmel serial flash */ |
27 | #define BCMA_CC_FLASHT_NFLASH 0x00000200 | 27 | #define BCMA_CC_FLASHT_NFLASH 0x00000200 /* NAND flash */ |
28 | #define BCMA_CC_FLASHT_PARA 0x00000700 /* Parallel flash */ | 28 | #define BCMA_CC_FLASHT_PARA 0x00000700 /* Parallel flash */ |
29 | #define BCMA_CC_CAP_PLLT 0x00038000 /* PLL Type */ | 29 | #define BCMA_CC_CAP_PLLT 0x00038000 /* PLL Type */ |
30 | #define BCMA_PLLTYPE_NONE 0x00000000 | 30 | #define BCMA_PLLTYPE_NONE 0x00000000 |
@@ -45,6 +45,7 @@ | |||
45 | #define BCMA_CC_CAP_PMU 0x10000000 /* PMU available (rev >= 20) */ | 45 | #define BCMA_CC_CAP_PMU 0x10000000 /* PMU available (rev >= 20) */ |
46 | #define BCMA_CC_CAP_ECI 0x20000000 /* ECI available (rev >= 20) */ | 46 | #define BCMA_CC_CAP_ECI 0x20000000 /* ECI available (rev >= 20) */ |
47 | #define BCMA_CC_CAP_SPROM 0x40000000 /* SPROM present */ | 47 | #define BCMA_CC_CAP_SPROM 0x40000000 /* SPROM present */ |
48 | #define BCMA_CC_CAP_NFLASH 0x80000000 /* NAND flash present (rev >= 35 or BCM4706?) */ | ||
48 | #define BCMA_CC_CORECTL 0x0008 | 49 | #define BCMA_CC_CORECTL 0x0008 |
49 | #define BCMA_CC_CORECTL_UARTCLK0 0x00000001 /* Drive UART with internal clock */ | 50 | #define BCMA_CC_CORECTL_UARTCLK0 0x00000001 /* Drive UART with internal clock */ |
50 | #define BCMA_CC_CORECTL_SE 0x00000002 /* sync clk out enable (corerev >= 3) */ | 51 | #define BCMA_CC_CORECTL_SE 0x00000002 /* sync clk out enable (corerev >= 3) */ |
@@ -122,10 +123,58 @@ | |||
122 | #define BCMA_CC_JCTL_EXT_EN 2 /* Enable external targets */ | 123 | #define BCMA_CC_JCTL_EXT_EN 2 /* Enable external targets */ |
123 | #define BCMA_CC_JCTL_EN 1 /* Enable Jtag master */ | 124 | #define BCMA_CC_JCTL_EN 1 /* Enable Jtag master */ |
124 | #define BCMA_CC_FLASHCTL 0x0040 | 125 | #define BCMA_CC_FLASHCTL 0x0040 |
126 | /* Start/busy bit in flashcontrol */ | ||
127 | #define BCMA_CC_FLASHCTL_OPCODE 0x000000ff | ||
128 | #define BCMA_CC_FLASHCTL_ACTION 0x00000700 | ||
129 | #define BCMA_CC_FLASHCTL_CS_ACTIVE 0x00001000 /* Chip Select Active, rev >= 20 */ | ||
125 | #define BCMA_CC_FLASHCTL_START 0x80000000 | 130 | #define BCMA_CC_FLASHCTL_START 0x80000000 |
126 | #define BCMA_CC_FLASHCTL_BUSY BCMA_CC_FLASHCTL_START | 131 | #define BCMA_CC_FLASHCTL_BUSY BCMA_CC_FLASHCTL_START |
132 | /* Flashcontrol action + opcodes for ST flashes */ | ||
133 | #define BCMA_CC_FLASHCTL_ST_WREN 0x0006 /* Write Enable */ | ||
134 | #define BCMA_CC_FLASHCTL_ST_WRDIS 0x0004 /* Write Disable */ | ||
135 | #define BCMA_CC_FLASHCTL_ST_RDSR 0x0105 /* Read Status Register */ | ||
136 | #define BCMA_CC_FLASHCTL_ST_WRSR 0x0101 /* Write Status Register */ | ||
137 | #define BCMA_CC_FLASHCTL_ST_READ 0x0303 /* Read Data Bytes */ | ||
138 | #define BCMA_CC_FLASHCTL_ST_PP 0x0302 /* Page Program */ | ||
139 | #define BCMA_CC_FLASHCTL_ST_SE 0x02d8 /* Sector Erase */ | ||
140 | #define BCMA_CC_FLASHCTL_ST_BE 0x00c7 /* Bulk Erase */ | ||
141 | #define BCMA_CC_FLASHCTL_ST_DP 0x00b9 /* Deep Power-down */ | ||
142 | #define BCMA_CC_FLASHCTL_ST_RES 0x03ab /* Read Electronic Signature */ | ||
143 | #define BCMA_CC_FLASHCTL_ST_CSA 0x1000 /* Keep chip select asserted */ | ||
144 | #define BCMA_CC_FLASHCTL_ST_SSE 0x0220 /* Sub-sector Erase */ | ||
145 | /* Flashcontrol action + opcodes for Atmel flashes */ | ||
146 | #define BCMA_CC_FLASHCTL_AT_READ 0x07e8 | ||
147 | #define BCMA_CC_FLASHCTL_AT_PAGE_READ 0x07d2 | ||
148 | #define BCMA_CC_FLASHCTL_AT_STATUS 0x01d7 | ||
149 | #define BCMA_CC_FLASHCTL_AT_BUF1_WRITE 0x0384 | ||
150 | #define BCMA_CC_FLASHCTL_AT_BUF2_WRITE 0x0387 | ||
151 | #define BCMA_CC_FLASHCTL_AT_BUF1_ERASE_PROGRAM 0x0283 | ||
152 | #define BCMA_CC_FLASHCTL_AT_BUF2_ERASE_PROGRAM 0x0286 | ||
153 | #define BCMA_CC_FLASHCTL_AT_BUF1_PROGRAM 0x0288 | ||
154 | #define BCMA_CC_FLASHCTL_AT_BUF2_PROGRAM 0x0289 | ||
155 | #define BCMA_CC_FLASHCTL_AT_PAGE_ERASE 0x0281 | ||
156 | #define BCMA_CC_FLASHCTL_AT_BLOCK_ERASE 0x0250 | ||
157 | #define BCMA_CC_FLASHCTL_AT_BUF1_WRITE_ERASE_PROGRAM 0x0382 | ||
158 | #define BCMA_CC_FLASHCTL_AT_BUF2_WRITE_ERASE_PROGRAM 0x0385 | ||
159 | #define BCMA_CC_FLASHCTL_AT_BUF1_LOAD 0x0253 | ||
160 | #define BCMA_CC_FLASHCTL_AT_BUF2_LOAD 0x0255 | ||
161 | #define BCMA_CC_FLASHCTL_AT_BUF1_COMPARE 0x0260 | ||
162 | #define BCMA_CC_FLASHCTL_AT_BUF2_COMPARE 0x0261 | ||
163 | #define BCMA_CC_FLASHCTL_AT_BUF1_REPROGRAM 0x0258 | ||
164 | #define BCMA_CC_FLASHCTL_AT_BUF2_REPROGRAM 0x0259 | ||
127 | #define BCMA_CC_FLASHADDR 0x0044 | 165 | #define BCMA_CC_FLASHADDR 0x0044 |
128 | #define BCMA_CC_FLASHDATA 0x0048 | 166 | #define BCMA_CC_FLASHDATA 0x0048 |
167 | /* Status register bits for ST flashes */ | ||
168 | #define BCMA_CC_FLASHDATA_ST_WIP 0x01 /* Write In Progress */ | ||
169 | #define BCMA_CC_FLASHDATA_ST_WEL 0x02 /* Write Enable Latch */ | ||
170 | #define BCMA_CC_FLASHDATA_ST_BP_MASK 0x1c /* Block Protect */ | ||
171 | #define BCMA_CC_FLASHDATA_ST_BP_SHIFT 2 | ||
172 | #define BCMA_CC_FLASHDATA_ST_SRWD 0x80 /* Status Register Write Disable */ | ||
173 | /* Status register bits for Atmel flashes */ | ||
174 | #define BCMA_CC_FLASHDATA_AT_READY 0x80 | ||
175 | #define BCMA_CC_FLASHDATA_AT_MISMATCH 0x40 | ||
176 | #define BCMA_CC_FLASHDATA_AT_ID_MASK 0x38 | ||
177 | #define BCMA_CC_FLASHDATA_AT_ID_SHIFT 3 | ||
129 | #define BCMA_CC_BCAST_ADDR 0x0050 | 178 | #define BCMA_CC_BCAST_ADDR 0x0050 |
130 | #define BCMA_CC_BCAST_DATA 0x0054 | 179 | #define BCMA_CC_BCAST_DATA 0x0054 |
131 | #define BCMA_CC_GPIOPULLUP 0x0058 /* Rev >= 20 only */ | 180 | #define BCMA_CC_GPIOPULLUP 0x0058 /* Rev >= 20 only */ |
diff --git a/include/linux/bcma/bcma_driver_gmac_cmn.h b/include/linux/bcma/bcma_driver_gmac_cmn.h new file mode 100644 index 000000000000..def894b83b0d --- /dev/null +++ b/include/linux/bcma/bcma_driver_gmac_cmn.h | |||
@@ -0,0 +1,100 @@ | |||
1 | #ifndef LINUX_BCMA_DRIVER_GMAC_CMN_H_ | ||
2 | #define LINUX_BCMA_DRIVER_GMAC_CMN_H_ | ||
3 | |||
4 | #include <linux/types.h> | ||
5 | |||
6 | #define BCMA_GMAC_CMN_STAG0 0x000 | ||
7 | #define BCMA_GMAC_CMN_STAG1 0x004 | ||
8 | #define BCMA_GMAC_CMN_STAG2 0x008 | ||
9 | #define BCMA_GMAC_CMN_STAG3 0x00C | ||
10 | #define BCMA_GMAC_CMN_PARSER_CTL 0x020 | ||
11 | #define BCMA_GMAC_CMN_MIB_MAX_LEN 0x024 | ||
12 | #define BCMA_GMAC_CMN_PHY_ACCESS 0x100 | ||
13 | #define BCMA_GMAC_CMN_PA_DATA_MASK 0x0000ffff | ||
14 | #define BCMA_GMAC_CMN_PA_ADDR_MASK 0x001f0000 | ||
15 | #define BCMA_GMAC_CMN_PA_ADDR_SHIFT 16 | ||
16 | #define BCMA_GMAC_CMN_PA_REG_MASK 0x1f000000 | ||
17 | #define BCMA_GMAC_CMN_PA_REG_SHIFT 24 | ||
18 | #define BCMA_GMAC_CMN_PA_WRITE 0x20000000 | ||
19 | #define BCMA_GMAC_CMN_PA_START 0x40000000 | ||
20 | #define BCMA_GMAC_CMN_PHY_CTL 0x104 | ||
21 | #define BCMA_GMAC_CMN_PC_EPA_MASK 0x0000001f | ||
22 | #define BCMA_GMAC_CMN_PC_MCT_MASK 0x007f0000 | ||
23 | #define BCMA_GMAC_CMN_PC_MCT_SHIFT 16 | ||
24 | #define BCMA_GMAC_CMN_PC_MTE 0x00800000 | ||
25 | #define BCMA_GMAC_CMN_GMAC0_RGMII_CTL 0x110 | ||
26 | #define BCMA_GMAC_CMN_CFP_ACCESS 0x200 | ||
27 | #define BCMA_GMAC_CMN_CFP_TCAM_DATA0 0x210 | ||
28 | #define BCMA_GMAC_CMN_CFP_TCAM_DATA1 0x214 | ||
29 | #define BCMA_GMAC_CMN_CFP_TCAM_DATA2 0x218 | ||
30 | #define BCMA_GMAC_CMN_CFP_TCAM_DATA3 0x21C | ||
31 | #define BCMA_GMAC_CMN_CFP_TCAM_DATA4 0x220 | ||
32 | #define BCMA_GMAC_CMN_CFP_TCAM_DATA5 0x224 | ||
33 | #define BCMA_GMAC_CMN_CFP_TCAM_DATA6 0x228 | ||
34 | #define BCMA_GMAC_CMN_CFP_TCAM_DATA7 0x22C | ||
35 | #define BCMA_GMAC_CMN_CFP_TCAM_MASK0 0x230 | ||
36 | #define BCMA_GMAC_CMN_CFP_TCAM_MASK1 0x234 | ||
37 | #define BCMA_GMAC_CMN_CFP_TCAM_MASK2 0x238 | ||
38 | #define BCMA_GMAC_CMN_CFP_TCAM_MASK3 0x23C | ||
39 | #define BCMA_GMAC_CMN_CFP_TCAM_MASK4 0x240 | ||
40 | #define BCMA_GMAC_CMN_CFP_TCAM_MASK5 0x244 | ||
41 | #define BCMA_GMAC_CMN_CFP_TCAM_MASK6 0x248 | ||
42 | #define BCMA_GMAC_CMN_CFP_TCAM_MASK7 0x24C | ||
43 | #define BCMA_GMAC_CMN_CFP_ACTION_DATA 0x250 | ||
44 | #define BCMA_GMAC_CMN_TCAM_BIST_CTL 0x2A0 | ||
45 | #define BCMA_GMAC_CMN_TCAM_BIST_STATUS 0x2A4 | ||
46 | #define BCMA_GMAC_CMN_TCAM_CMP_STATUS 0x2A8 | ||
47 | #define BCMA_GMAC_CMN_TCAM_DISABLE 0x2AC | ||
48 | #define BCMA_GMAC_CMN_TCAM_TEST_CTL 0x2F0 | ||
49 | #define BCMA_GMAC_CMN_UDF_0_A3_A0 0x300 | ||
50 | #define BCMA_GMAC_CMN_UDF_0_A7_A4 0x304 | ||
51 | #define BCMA_GMAC_CMN_UDF_0_A8 0x308 | ||
52 | #define BCMA_GMAC_CMN_UDF_1_A3_A0 0x310 | ||
53 | #define BCMA_GMAC_CMN_UDF_1_A7_A4 0x314 | ||
54 | #define BCMA_GMAC_CMN_UDF_1_A8 0x318 | ||
55 | #define BCMA_GMAC_CMN_UDF_2_A3_A0 0x320 | ||
56 | #define BCMA_GMAC_CMN_UDF_2_A7_A4 0x324 | ||
57 | #define BCMA_GMAC_CMN_UDF_2_A8 0x328 | ||
58 | #define BCMA_GMAC_CMN_UDF_0_B3_B0 0x330 | ||
59 | #define BCMA_GMAC_CMN_UDF_0_B7_B4 0x334 | ||
60 | #define BCMA_GMAC_CMN_UDF_0_B8 0x338 | ||
61 | #define BCMA_GMAC_CMN_UDF_1_B3_B0 0x340 | ||
62 | #define BCMA_GMAC_CMN_UDF_1_B7_B4 0x344 | ||
63 | #define BCMA_GMAC_CMN_UDF_1_B8 0x348 | ||
64 | #define BCMA_GMAC_CMN_UDF_2_B3_B0 0x350 | ||
65 | #define BCMA_GMAC_CMN_UDF_2_B7_B4 0x354 | ||
66 | #define BCMA_GMAC_CMN_UDF_2_B8 0x358 | ||
67 | #define BCMA_GMAC_CMN_UDF_0_C3_C0 0x360 | ||
68 | #define BCMA_GMAC_CMN_UDF_0_C7_C4 0x364 | ||
69 | #define BCMA_GMAC_CMN_UDF_0_C8 0x368 | ||
70 | #define BCMA_GMAC_CMN_UDF_1_C3_C0 0x370 | ||
71 | #define BCMA_GMAC_CMN_UDF_1_C7_C4 0x374 | ||
72 | #define BCMA_GMAC_CMN_UDF_1_C8 0x378 | ||
73 | #define BCMA_GMAC_CMN_UDF_2_C3_C0 0x380 | ||
74 | #define BCMA_GMAC_CMN_UDF_2_C7_C4 0x384 | ||
75 | #define BCMA_GMAC_CMN_UDF_2_C8 0x388 | ||
76 | #define BCMA_GMAC_CMN_UDF_0_D3_D0 0x390 | ||
77 | #define BCMA_GMAC_CMN_UDF_0_D7_D4 0x394 | ||
78 | #define BCMA_GMAC_CMN_UDF_0_D11_D8 0x394 | ||
79 | |||
80 | struct bcma_drv_gmac_cmn { | ||
81 | struct bcma_device *core; | ||
82 | |||
83 | /* Drivers accessing BCMA_GMAC_CMN_PHY_ACCESS and | ||
84 | * BCMA_GMAC_CMN_PHY_CTL need to take that mutex first. */ | ||
85 | struct mutex phy_mutex; | ||
86 | }; | ||
87 | |||
88 | /* Register access */ | ||
89 | #define gmac_cmn_read16(gc, offset) bcma_read16((gc)->core, offset) | ||
90 | #define gmac_cmn_read32(gc, offset) bcma_read32((gc)->core, offset) | ||
91 | #define gmac_cmn_write16(gc, offset, val) bcma_write16((gc)->core, offset, val) | ||
92 | #define gmac_cmn_write32(gc, offset, val) bcma_write32((gc)->core, offset, val) | ||
93 | |||
94 | #ifdef CONFIG_BCMA_DRIVER_GMAC_CMN | ||
95 | extern void __devinit bcma_core_gmac_cmn_init(struct bcma_drv_gmac_cmn *gc); | ||
96 | #else | ||
97 | static inline void bcma_core_gmac_cmn_init(struct bcma_drv_gmac_cmn *gc) { } | ||
98 | #endif | ||
99 | |||
100 | #endif /* LINUX_BCMA_DRIVER_GMAC_CMN_H_ */ | ||
diff --git a/include/linux/nl80211.h b/include/linux/nl80211.h index db961a59247f..2f3878806403 100644 --- a/include/linux/nl80211.h +++ b/include/linux/nl80211.h | |||
@@ -771,6 +771,9 @@ enum nl80211_commands { | |||
771 | * @NL80211_ATTR_IFNAME: network interface name | 771 | * @NL80211_ATTR_IFNAME: network interface name |
772 | * @NL80211_ATTR_IFTYPE: type of virtual interface, see &enum nl80211_iftype | 772 | * @NL80211_ATTR_IFTYPE: type of virtual interface, see &enum nl80211_iftype |
773 | * | 773 | * |
774 | * @NL80211_ATTR_WDEV: wireless device identifier, used for pseudo-devices | ||
775 | * that don't have a netdev (u64) | ||
776 | * | ||
774 | * @NL80211_ATTR_MAC: MAC address (various uses) | 777 | * @NL80211_ATTR_MAC: MAC address (various uses) |
775 | * | 778 | * |
776 | * @NL80211_ATTR_KEY_DATA: (temporal) key data; for TKIP this consists of | 779 | * @NL80211_ATTR_KEY_DATA: (temporal) key data; for TKIP this consists of |
@@ -1242,6 +1245,12 @@ enum nl80211_commands { | |||
1242 | * @NL80211_ATTR_BG_SCAN_PERIOD: Background scan period in seconds | 1245 | * @NL80211_ATTR_BG_SCAN_PERIOD: Background scan period in seconds |
1243 | * or 0 to disable background scan. | 1246 | * or 0 to disable background scan. |
1244 | * | 1247 | * |
1248 | * @NL80211_ATTR_USER_REG_HINT_TYPE: type of regulatory hint passed from | ||
1249 | * userspace. If unset it is assumed the hint comes directly from | ||
1250 | * a user. If set code could specify exactly what type of source | ||
1251 | * was used to provide the hint. For the different types of | ||
1252 | * allowed user regulatory hints see nl80211_user_reg_hint_type. | ||
1253 | * | ||
1245 | * @NL80211_ATTR_MAX: highest attribute number currently defined | 1254 | * @NL80211_ATTR_MAX: highest attribute number currently defined |
1246 | * @__NL80211_ATTR_AFTER_LAST: internal use | 1255 | * @__NL80211_ATTR_AFTER_LAST: internal use |
1247 | */ | 1256 | */ |
@@ -1493,6 +1502,10 @@ enum nl80211_attrs { | |||
1493 | 1502 | ||
1494 | NL80211_ATTR_BG_SCAN_PERIOD, | 1503 | NL80211_ATTR_BG_SCAN_PERIOD, |
1495 | 1504 | ||
1505 | NL80211_ATTR_WDEV, | ||
1506 | |||
1507 | NL80211_ATTR_USER_REG_HINT_TYPE, | ||
1508 | |||
1496 | /* add attributes here, update the policy in nl80211.c */ | 1509 | /* add attributes here, update the policy in nl80211.c */ |
1497 | 1510 | ||
1498 | __NL80211_ATTR_AFTER_LAST, | 1511 | __NL80211_ATTR_AFTER_LAST, |
@@ -1545,6 +1558,8 @@ enum nl80211_attrs { | |||
1545 | /* default RSSI threshold for scan results if none specified. */ | 1558 | /* default RSSI threshold for scan results if none specified. */ |
1546 | #define NL80211_SCAN_RSSI_THOLD_OFF -300 | 1559 | #define NL80211_SCAN_RSSI_THOLD_OFF -300 |
1547 | 1560 | ||
1561 | #define NL80211_CQM_TXE_MAX_INTVL 1800 | ||
1562 | |||
1548 | /** | 1563 | /** |
1549 | * enum nl80211_iftype - (virtual) interface types | 1564 | * enum nl80211_iftype - (virtual) interface types |
1550 | * | 1565 | * |
@@ -2054,6 +2069,26 @@ enum nl80211_dfs_regions { | |||
2054 | }; | 2069 | }; |
2055 | 2070 | ||
2056 | /** | 2071 | /** |
2072 | * enum nl80211_user_reg_hint_type - type of user regulatory hint | ||
2073 | * | ||
2074 | * @NL80211_USER_REG_HINT_USER: a user sent the hint. This is always | ||
2075 | * assumed if the attribute is not set. | ||
2076 | * @NL80211_USER_REG_HINT_CELL_BASE: the hint comes from a cellular | ||
2077 | * base station. Device drivers that have been tested to work | ||
2078 | * properly to support this type of hint can enable these hints | ||
2079 | * by setting the NL80211_FEATURE_CELL_BASE_REG_HINTS feature | ||
2080 | * capability on the struct wiphy. The wireless core will | ||
2081 | * ignore all cell base station hints until at least one device | ||
2082 | * present has been registered with the wireless core that | ||
2083 | * has listed NL80211_FEATURE_CELL_BASE_REG_HINTS as a | ||
2084 | * supported feature. | ||
2085 | */ | ||
2086 | enum nl80211_user_reg_hint_type { | ||
2087 | NL80211_USER_REG_HINT_USER = 0, | ||
2088 | NL80211_USER_REG_HINT_CELL_BASE = 1, | ||
2089 | }; | ||
2090 | |||
2091 | /** | ||
2057 | * enum nl80211_survey_info - survey information | 2092 | * enum nl80211_survey_info - survey information |
2058 | * | 2093 | * |
2059 | * These attribute types are used with %NL80211_ATTR_SURVEY_INFO | 2094 | * These attribute types are used with %NL80211_ATTR_SURVEY_INFO |
@@ -2584,6 +2619,17 @@ enum nl80211_ps_state { | |||
2584 | * @NL80211_ATTR_CQM_RSSI_THRESHOLD_EVENT: RSSI threshold event | 2619 | * @NL80211_ATTR_CQM_RSSI_THRESHOLD_EVENT: RSSI threshold event |
2585 | * @NL80211_ATTR_CQM_PKT_LOSS_EVENT: a u32 value indicating that this many | 2620 | * @NL80211_ATTR_CQM_PKT_LOSS_EVENT: a u32 value indicating that this many |
2586 | * consecutive packets were not acknowledged by the peer | 2621 | * consecutive packets were not acknowledged by the peer |
2622 | * @NL80211_ATTR_CQM_TXE_RATE: TX error rate in %. Minimum % of TX failures | ||
2623 | * during the given %NL80211_ATTR_CQM_TXE_INTVL before an | ||
2624 | * %NL80211_CMD_NOTIFY_CQM with reported %NL80211_ATTR_CQM_TXE_RATE and | ||
2625 | * %NL80211_ATTR_CQM_TXE_PKTS is generated. | ||
2626 | * @NL80211_ATTR_CQM_TXE_PKTS: number of attempted packets in a given | ||
2627 | * %NL80211_ATTR_CQM_TXE_INTVL before %NL80211_ATTR_CQM_TXE_RATE is | ||
2628 | * checked. | ||
2629 | * @NL80211_ATTR_CQM_TXE_INTVL: interval in seconds. Specifies the periodic | ||
2630 | * interval in which %NL80211_ATTR_CQM_TXE_PKTS and | ||
2631 | * %NL80211_ATTR_CQM_TXE_RATE must be satisfied before generating an | ||
2632 | * %NL80211_CMD_NOTIFY_CQM. Set to 0 to turn off TX error reporting. | ||
2587 | * @__NL80211_ATTR_CQM_AFTER_LAST: internal | 2633 | * @__NL80211_ATTR_CQM_AFTER_LAST: internal |
2588 | * @NL80211_ATTR_CQM_MAX: highest key attribute | 2634 | * @NL80211_ATTR_CQM_MAX: highest key attribute |
2589 | */ | 2635 | */ |
@@ -2593,6 +2639,9 @@ enum nl80211_attr_cqm { | |||
2593 | NL80211_ATTR_CQM_RSSI_HYST, | 2639 | NL80211_ATTR_CQM_RSSI_HYST, |
2594 | NL80211_ATTR_CQM_RSSI_THRESHOLD_EVENT, | 2640 | NL80211_ATTR_CQM_RSSI_THRESHOLD_EVENT, |
2595 | NL80211_ATTR_CQM_PKT_LOSS_EVENT, | 2641 | NL80211_ATTR_CQM_PKT_LOSS_EVENT, |
2642 | NL80211_ATTR_CQM_TXE_RATE, | ||
2643 | NL80211_ATTR_CQM_TXE_PKTS, | ||
2644 | NL80211_ATTR_CQM_TXE_INTVL, | ||
2596 | 2645 | ||
2597 | /* keep last */ | 2646 | /* keep last */ |
2598 | __NL80211_ATTR_CQM_AFTER_LAST, | 2647 | __NL80211_ATTR_CQM_AFTER_LAST, |
@@ -2942,11 +2991,15 @@ enum nl80211_ap_sme_features { | |||
2942 | * @NL80211_FEATURE_HT_IBSS: This driver supports IBSS with HT datarates. | 2991 | * @NL80211_FEATURE_HT_IBSS: This driver supports IBSS with HT datarates. |
2943 | * @NL80211_FEATURE_INACTIVITY_TIMER: This driver takes care of freeing up | 2992 | * @NL80211_FEATURE_INACTIVITY_TIMER: This driver takes care of freeing up |
2944 | * the connected inactive stations in AP mode. | 2993 | * the connected inactive stations in AP mode. |
2994 | * @NL80211_FEATURE_CELL_BASE_REG_HINTS: This driver has been tested | ||
2995 | * to work properly to suppport receiving regulatory hints from | ||
2996 | * cellular base stations. | ||
2945 | */ | 2997 | */ |
2946 | enum nl80211_feature_flags { | 2998 | enum nl80211_feature_flags { |
2947 | NL80211_FEATURE_SK_TX_STATUS = 1 << 0, | 2999 | NL80211_FEATURE_SK_TX_STATUS = 1 << 0, |
2948 | NL80211_FEATURE_HT_IBSS = 1 << 1, | 3000 | NL80211_FEATURE_HT_IBSS = 1 << 1, |
2949 | NL80211_FEATURE_INACTIVITY_TIMER = 1 << 2, | 3001 | NL80211_FEATURE_INACTIVITY_TIMER = 1 << 2, |
3002 | NL80211_FEATURE_CELL_BASE_REG_HINTS = 1 << 3, | ||
2950 | }; | 3003 | }; |
2951 | 3004 | ||
2952 | /** | 3005 | /** |