summaryrefslogtreecommitdiff
path: root/usr/src/uts/common/io/iwn/if_iwncompat.h
blob: 8c0b61f69e0de0d4b13fc3fd29388f474c0133ab (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
/*
 * This file and its contents are supplied under the terms of the
 * Common Development and Distribution License ("CDDL"), version 1.0.
 * You may only use this file in accordance with the terms of version
 * 1.0 of the CDDL.
 *
 * A full copy of the text of the CDDL should have accompanied this
 * source.  A copy of the CDDL is also available via the Internet at
 * http://www.illumos.org/license/CDDL.
 */

/*
 * Copyright 2016 Hans Rosenfeld <rosenfeld@grumpf.hope-2000.org>
 */

#ifndef _IF_IWNCOMPAT_H
#define	_IF_IWNCOMPAT_H

/* XXX Added for NetBSD */
#define	IEEE80211_NO_HT

/*
 * QoS  definitions
 */

#define	AC_NUM		(4)	/* the number of access category */

/*
 * index of every AC in firmware
 */
#define	QOS_AC_BK	(0)
#define	QOS_AC_BE	(1)
#define	QOS_AC_VI	(2)
#define	QOS_AC_VO	(3)
#define	QOS_AC_INVALID	(-1)

#define	QOS_CW_RANGE_MIN	(0)	/* exponential of 2 */
#define	QOS_CW_RANGE_MAX	(15)	/* exponential of 2 */
#define	QOS_TXOP_MIN		(0)	/* unit of 32 microsecond */
#define	QOS_TXOP_MAX		(255)	/* unit of 32 microsecond */
#define	QOS_AIFSN_MIN		(2)
#define	QOS_AIFSN_MAX		(15)	/* undefined */

/*
 * masks for flags of QoS parameter command
 */
#define	QOS_PARAM_FLG_UPDATE_EDCA	(0x01)
#define	QOS_PARAM_FLG_TGN		(0x02)

/*
 * index of TX queue for every AC
 */
#define	QOS_AC_BK_TO_TXQ	(3)
#define	QOS_AC_BE_TO_TXQ	(2)
#define	QOS_AC_VI_TO_TXQ	(1)
#define	QOS_AC_VO_TO_TXQ	(0)
#define	TXQ_FOR_AC_MIN		(0)
#define	TXQ_FOR_AC_MAX		(3)
#define	TXQ_FOR_AC_INVALID	(-1)
#define	NON_QOS_TXQ		QOS_AC_BE_TO_TXQ
#define	QOS_TXQ_FOR_MGT		QOS_AC_VO_TO_TXQ

#define	WME_TID_MIN	(0)
#define	WME_TID_MAX	(7)
#define	WME_TID_INVALID	((uint8_t)-1)

#define	PCI_VENDOR_INTEL	0x8086		/* Intel */

/* WiFi Link 1000 */
#define	PCI_PRODUCT_INTEL_WIFI_LINK_1000_1	0x0083
#define	PCI_PRODUCT_INTEL_WIFI_LINK_1000_2	0x0084

/* Centrino Wireless-N 100 */
#define	PCI_PRODUCT_INTEL_WIFI_LINK_100_1	0x08ae
#define	PCI_PRODUCT_INTEL_WIFI_LINK_100_2	0x08af

/* Centrino Wireless-N 105 */
#define	PCI_PRODUCT_INTEL_WIFI_LINK_105_1	0x0894
#define	PCI_PRODUCT_INTEL_WIFI_LINK_105_2	0x0895

/* Centrino Wireless-N 130 */
#define	PCI_PRODUCT_INTEL_WIFI_LINK_130_1	0x0896
#define	PCI_PRODUCT_INTEL_WIFI_LINK_130_2	0x0897

/* Centrino Wireless-N 135 */
#define	PCI_PRODUCT_INTEL_WIFI_LINK_135_1	0x0892
#define	PCI_PRODUCT_INTEL_WIFI_LINK_135_2	0x0893

/* Centrino Wireless-N 1030 */
#define	PCI_PRODUCT_INTEL_WIFI_LINK_1030_1	0x008a
#define	PCI_PRODUCT_INTEL_WIFI_LINK_1030_2	0x008b

/* Centrino Wireless-N 2200 */
#define	PCI_PRODUCT_INTEL_WIFI_LINK_2200_1	0x0890
#define	PCI_PRODUCT_INTEL_WIFI_LINK_2200_2	0x0891

/* Centrino Wireless-N 2230 */
#define	PCI_PRODUCT_INTEL_WIFI_LINK_2230_1	0x0887
#define	PCI_PRODUCT_INTEL_WIFI_LINK_2230_2	0x0888

/* Wireless WiFi Link 4965 */
#define	PCI_PRODUCT_INTEL_WIFI_LINK_4965_1	0x4229
#define	PCI_PRODUCT_INTEL_WIFI_LINK_4965_2	0x4230
#define	PCI_PRODUCT_INTEL_WIFI_LINK_4965_3	0x422d
#define	PCI_PRODUCT_INTEL_WIFI_LINK_4965_4	0x4233

/* WiFi Link 5100 */
#define	PCI_PRODUCT_INTEL_WIFI_LINK_5100_1	0x4232
#define	PCI_PRODUCT_INTEL_WIFI_LINK_5100_2	0x4237

/* WiFi Link 5150 */
#define	PCI_PRODUCT_INTEL_WIFI_LINK_5150_1	0x423c
#define	PCI_PRODUCT_INTEL_WIFI_LINK_5150_2	0x423d

/* WiFi Link 5300 */
#define	PCI_PRODUCT_INTEL_WIFI_LINK_5300_1	0x4235
#define	PCI_PRODUCT_INTEL_WIFI_LINK_5300_2	0x4236

/* WiFi Link 5350 */
#define	PCI_PRODUCT_INTEL_WIFI_LINK_5350_1	0x423a
#define	PCI_PRODUCT_INTEL_WIFI_LINK_5350_2	0x423b

/* Centrino Advanced-N 6200 */
#define	PCI_PRODUCT_INTEL_WIFI_LINK_6000_IPA_1	0x422c
#define	PCI_PRODUCT_INTEL_WIFI_LINK_6000_IPA_2	0x4239

/* Centrino Advanced-N 6205 */
#define	PCI_PRODUCT_INTEL_WIFI_LINK_6005_2X2_1	0x0082
#define	PCI_PRODUCT_INTEL_WIFI_LINK_6005_2X2_2	0x0085

/* Centrino Advanced-N 6230 */
#define	PCI_PRODUCT_INTEL_WIFI_LINK_6230_1	0x0090
#define	PCI_PRODUCT_INTEL_WIFI_LINK_6230_2	0x0091

/* Centrino Advanced-N 6235 */
#define	PCI_PRODUCT_INTEL_WIFI_LINK_6235	0x088e
#define	PCI_PRODUCT_INTEL_WIFI_LINK_6235_2	0x088f

/* Centrino Advanced-N 6250 */
#define	PCI_PRODUCT_INTEL_WIFI_LINK_6050_2X2_1	0x0087
#define	PCI_PRODUCT_INTEL_WIFI_LINK_6050_2X2_2	0x0089

/* Centrino Ultimate-N 6300 */
#define	PCI_PRODUCT_INTEL_WIFI_LINK_6000_3X3_1	0x422b
#define	PCI_PRODUCT_INTEL_WIFI_LINK_6000_3X3_2	0x4238

#define	__inline	inline
#define	__arraycount(x)	ARRAY_SIZE(x)
#define	abs(x)		ABS(x)

#define	le16toh(x) LE_16(x)
#define	htole16(x) LE_16(x)
#define	le32toh(x) LE_32(x)
#define	htole32(x) LE_32(x)
#define	le64toh(x) LE_64(x)
#define	htole64(x) LE_64(x)

#define	IWN_SUCCESS		0
#define	IWN_FAIL		EIO

#endif	/* _IF_IWNCOMPAT_H */