xref: /wlan-driver/qca-wifi-host-cmn/wmi/inc/wmi_unified_sta_param.h (revision 5113495b16420b49004c444715d2daae2066e7dc)
1*5113495bSYour Name /*
2*5113495bSYour Name  * Copyright (c) 2013-2020 The Linux Foundation. All rights reserved.
3*5113495bSYour Name  * Copyright (c) 2022-2023 Qualcomm Innovation Center, Inc. All rights reserved.
4*5113495bSYour Name  *
5*5113495bSYour Name  * Permission to use, copy, modify, and/or distribute this software for
6*5113495bSYour Name  * any purpose with or without fee is hereby granted, provided that the
7*5113495bSYour Name  * above copyright notice and this permission notice appear in all
8*5113495bSYour Name  * copies.
9*5113495bSYour Name  *
10*5113495bSYour Name  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
11*5113495bSYour Name  * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
12*5113495bSYour Name  * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
13*5113495bSYour Name  * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
14*5113495bSYour Name  * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
15*5113495bSYour Name  * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
16*5113495bSYour Name  * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
17*5113495bSYour Name  * PERFORMANCE OF THIS SOFTWARE.
18*5113495bSYour Name  */
19*5113495bSYour Name 
20*5113495bSYour Name /*
21*5113495bSYour Name  * This file contains the API definitions for the STA WMI APIs.
22*5113495bSYour Name  */
23*5113495bSYour Name 
24*5113495bSYour Name #ifndef _WMI_UNIFIED_STA_PARAM_H_
25*5113495bSYour Name #define _WMI_UNIFIED_STA_PARAM_H_
26*5113495bSYour Name 
27*5113495bSYour Name /**
28*5113495bSYour Name  * struct sta_keep_alive_params - sta keep alive parameters
29*5113495bSYour Name  * @vdev_id: vdev id
30*5113495bSYour Name  * @method: keep alive method
31*5113495bSYour Name  * @timeperiod: time to keep alive
32*5113495bSYour Name  * @hostv4addr: host ipv4 address
33*5113495bSYour Name  * @destv4addr: destination ipv4 address
34*5113495bSYour Name  * @destmac: destination mac address
35*5113495bSYour Name  */
36*5113495bSYour Name struct sta_keep_alive_params {
37*5113495bSYour Name 	uint8_t vdev_id;
38*5113495bSYour Name 	uint32_t method;
39*5113495bSYour Name 	uint32_t timeperiod;
40*5113495bSYour Name 	uint8_t hostv4addr[QDF_IPV4_ADDR_SIZE];
41*5113495bSYour Name 	uint8_t destv4addr[QDF_IPV4_ADDR_SIZE];
42*5113495bSYour Name 	uint8_t destmac[QDF_MAC_ADDR_SIZE];
43*5113495bSYour Name };
44*5113495bSYour Name 
45*5113495bSYour Name /**
46*5113495bSYour Name  * struct wmi_gtx_config - GTX config
47*5113495bSYour Name  * @gtx_rt_mask: for HT and VHT rate masks
48*5113495bSYour Name  * @gtx_usrcfg: host request for GTX mask
49*5113495bSYour Name  * @gtx_threshold: PER Threshold (default: 10%)
50*5113495bSYour Name  * @gtx_margin: PER margin (default: 2%)
51*5113495bSYour Name  * @gtx_tpcstep: TPC step (default: 1)
52*5113495bSYour Name  * @gtx_tpcmin: TPC min (default: 5)
53*5113495bSYour Name  * @gtx_bwmask: BW mask (20/40/80/160 Mhz)
54*5113495bSYour Name  */
55*5113495bSYour Name struct wmi_gtx_config {
56*5113495bSYour Name 	uint32_t gtx_rt_mask[2];
57*5113495bSYour Name 	uint32_t gtx_usrcfg;
58*5113495bSYour Name 	uint32_t gtx_threshold;
59*5113495bSYour Name 	uint32_t gtx_margin;
60*5113495bSYour Name 	uint32_t gtx_tpcstep;
61*5113495bSYour Name 	uint32_t gtx_tpcmin;
62*5113495bSYour Name 	uint32_t gtx_bwmask;
63*5113495bSYour Name };
64*5113495bSYour Name 
65*5113495bSYour Name /**
66*5113495bSYour Name  * struct wlm_latency_level_param - WLM parameters
67*5113495bSYour Name  * @wlm_latency_level: wlm latency level to set
68*5113495bSYour Name  *  0 - normal, 1 - moderate, 2 - low, 3 - ultralow
69*5113495bSYour Name  * @wlm_latency_flags: wlm latency flags to set
70*5113495bSYour Name  *  |31  12|  11  |  10  |9    8|7    6|5    4|3    2|  1  |  0  |
71*5113495bSYour Name  *  +------+------+------+------+------+------+------+-----+-----+
72*5113495bSYour Name  *  | RSVD | SSLP | CSLP | RSVD | Roam | RSVD | DWLT | DFS | SUP |
73*5113495bSYour Name  *  +------+-------------+-------------+-------------------------+
74*5113495bSYour Name  *  |  WAL |      PS     |     Roam    |         Scan            |
75*5113495bSYour Name  *
76*5113495bSYour Name  *  bit 0: Avoid scan request from HLOS if setting
77*5113495bSYour Name  *  bit 1: Skip DFS channel SCAN if setting
78*5113495bSYour Name  *  bit 2-3: Define policy of dwell time/duration for each foreign channel
79*5113495bSYour Name  *     (b2 b3)
80*5113495bSYour Name  *     (0  0 ): Default scan dwell time
81*5113495bSYour Name  *     (0  1 ): Reserve
82*5113495bSYour Name  *     (1  0 ): Shrink off channel dwell time
83*5113495bSYour Name  *     (1  1 ): Reserve
84*5113495bSYour Name  *  bit 4-5: Reserve for scan
85*5113495bSYour Name  *  bit 6-7: Define roaming policy
86*5113495bSYour Name  *     (b6 b7)
87*5113495bSYour Name  *     (0  0 ): Default roaming behavior, allow roaming in all scenarios
88*5113495bSYour Name  *     (0  1 ): Disallow all roaming
89*5113495bSYour Name  *     (1  0 ): Allow roaming when final bmissed
90*5113495bSYour Name  *     (1  1 ): Reserve
91*5113495bSYour Name  *  bit 8-9: Reserve for roaming
92*5113495bSYour Name  *  bit 10: Disable css power collapse if setting
93*5113495bSYour Name  *  bit 11: Disable sys sleep if setting
94*5113495bSYour Name  *  bit 12-31: Reserve for future usage
95*5113495bSYour Name  * @vdev_id: vdev id
96*5113495bSYour Name  * @force_reset: bit 0 used as force reset to override the latency level as
97*5113495bSYour Name  * default for all the wlm clients
98*5113495bSYour Name  * @client_id_bitmask: clients of WLM Arbiter
99*5113495bSYour Name  */
100*5113495bSYour Name struct wlm_latency_level_param {
101*5113495bSYour Name 	uint16_t wlm_latency_level;
102*5113495bSYour Name 	uint32_t wlm_latency_flags;
103*5113495bSYour Name 	uint16_t vdev_id;
104*5113495bSYour Name #ifdef MULTI_CLIENT_LL_SUPPORT
105*5113495bSYour Name 	uint32_t force_reset;
106*5113495bSYour Name 	uint32_t client_id_bitmask;
107*5113495bSYour Name #endif
108*5113495bSYour Name };
109*5113495bSYour Name 
110*5113495bSYour Name #define WMI_2_4_GHZ_MAX_FREQ  3000
111*5113495bSYour Name 
112*5113495bSYour Name /**
113*5113495bSYour Name  * struct vdev_ie_info_param - IE info
114*5113495bSYour Name  * @vdev_id: vdev for which the IE is being sent
115*5113495bSYour Name  * @ie_id: ID of the IE
116*5113495bSYour Name  * @length: length of the IE data
117*5113495bSYour Name  * @ie_source:
118*5113495bSYour Name  * @band:
119*5113495bSYour Name  * @data: IE data
120*5113495bSYour Name  *
121*5113495bSYour Name  * This structure is used to store the IE information.
122*5113495bSYour Name  */
123*5113495bSYour Name struct vdev_ie_info_param {
124*5113495bSYour Name 	uint32_t vdev_id;
125*5113495bSYour Name 	uint32_t ie_id;
126*5113495bSYour Name 	uint32_t length;
127*5113495bSYour Name 	uint32_t ie_source;
128*5113495bSYour Name 	uint32_t band;
129*5113495bSYour Name 	uint8_t *data;
130*5113495bSYour Name };
131*5113495bSYour Name 
132*5113495bSYour Name #define MAX_SAR_LIMIT_ROWS_SUPPORTED 64
133*5113495bSYour Name /**
134*5113495bSYour Name  * struct sar_limit_cmd_row - sar limits row
135*5113495bSYour Name  * @band_id: Optional param for frequency band
136*5113495bSYour Name  *           See %enum wmi_sar_band_id_flags for possible values
137*5113495bSYour Name  * @chain_id: Optional param for antenna chain id
138*5113495bSYour Name  * @mod_id: Optional param for modulation scheme
139*5113495bSYour Name  *          See %enum wmi_sar_mod_id_flags for possible values
140*5113495bSYour Name  * @limit_value: Mandatory param providing power limits in steps of 0.5 dbm
141*5113495bSYour Name  * @validity_bitmap: bitmap of valid optional params in sar_limit_cmd_row struct
142*5113495bSYour Name  *                   See WMI_SAR_*_VALID_MASK for possible values
143*5113495bSYour Name  */
144*5113495bSYour Name struct sar_limit_cmd_row {
145*5113495bSYour Name 	uint32_t band_id;
146*5113495bSYour Name 	uint32_t chain_id;
147*5113495bSYour Name 	uint32_t mod_id;
148*5113495bSYour Name 	uint32_t limit_value;
149*5113495bSYour Name 	uint32_t validity_bitmap;
150*5113495bSYour Name };
151*5113495bSYour Name 
152*5113495bSYour Name /**
153*5113495bSYour Name  * struct sar_limit_cmd_params - sar limits params
154*5113495bSYour Name  * @sar_enable: flag to enable SAR
155*5113495bSYour Name  *              See %enum wmi_sar_feature_state_flags for possible values
156*5113495bSYour Name  * @num_limit_rows: number of items in sar_limits
157*5113495bSYour Name  * @commit_limits: indicates firmware to start apply new SAR values
158*5113495bSYour Name  * @sar_limit_row_list: pointer to array of sar limit rows
159*5113495bSYour Name  */
160*5113495bSYour Name struct sar_limit_cmd_params {
161*5113495bSYour Name 	uint32_t sar_enable;
162*5113495bSYour Name 	uint32_t num_limit_rows;
163*5113495bSYour Name 	uint32_t commit_limits;
164*5113495bSYour Name 	struct sar_limit_cmd_row *sar_limit_row_list;
165*5113495bSYour Name };
166*5113495bSYour Name 
167*5113495bSYour Name /**
168*5113495bSYour Name  * struct sar_limit_event_row - sar limits row
169*5113495bSYour Name  * @band_id: Frequency band.
170*5113495bSYour Name  *           See %enum wmi_sar_band_id_flags for possible values
171*5113495bSYour Name  * @chain_id: Chain id
172*5113495bSYour Name  * @mod_id: Modulation scheme
173*5113495bSYour Name  *          See %enum wmi_sar_mod_id_flags for possible values
174*5113495bSYour Name  * @limit_value: Power limits in steps of 0.5 dbm that is currently active for
175*5113495bSYour Name  *     the given @band_id, @chain_id, and @mod_id
176*5113495bSYour Name  */
177*5113495bSYour Name struct sar_limit_event_row {
178*5113495bSYour Name 	uint32_t band_id;
179*5113495bSYour Name 	uint32_t chain_id;
180*5113495bSYour Name 	uint32_t mod_id;
181*5113495bSYour Name 	uint32_t limit_value;
182*5113495bSYour Name };
183*5113495bSYour Name 
184*5113495bSYour Name /**
185*5113495bSYour Name  * struct sar_limit_event - sar limits params
186*5113495bSYour Name  * @sar_enable: Current status of SAR enablement.
187*5113495bSYour Name  *              See %enum wmi_sar_feature_state_flags for possible values
188*5113495bSYour Name  * @num_limit_rows: number of items in sar_limits
189*5113495bSYour Name  * @sar_limit_row: array of sar limit rows. Only @num_limit_rows
190*5113495bSYour Name  *                 should be considered valid.
191*5113495bSYour Name  */
192*5113495bSYour Name struct sar_limit_event {
193*5113495bSYour Name 	uint32_t sar_enable;
194*5113495bSYour Name 	uint32_t num_limit_rows;
195*5113495bSYour Name 	struct sar_limit_event_row
196*5113495bSYour Name 			sar_limit_row[MAX_SAR_LIMIT_ROWS_SUPPORTED];
197*5113495bSYour Name };
198*5113495bSYour Name 
199*5113495bSYour Name #define WMI_UNIFIED_MAX_PMKID_LEN   16
200*5113495bSYour Name #define WMI_UNIFIED_MAX_PMK_LEN     64
201*5113495bSYour Name 
202*5113495bSYour Name /**
203*5113495bSYour Name  * struct wmi_unified_pmk_cache - used to set del pmkid cache
204*5113495bSYour Name  * @vdev_id: ID of the vdev being configured
205*5113495bSYour Name  * @pmk_len: PMK len
206*5113495bSYour Name  *	for big-endian hosts, manual endian conversion will be needed to keep
207*5113495bSYour Name  *	the array values in their original order in spite of the automatic
208*5113495bSYour Name  *	byte-swap applied to WMI messages during download
209*5113495bSYour Name  * @pmk: PMK array
210*5113495bSYour Name  * @pmkid_len: PMK ID Len
211*5113495bSYour Name  * @pmkid: PMK ID Array
212*5113495bSYour Name  * @bssid: BSSID
213*5113495bSYour Name  * @ssid: SSID
214*5113495bSYour Name  * @cache_id: PMK Cache ID
215*5113495bSYour Name  * @cat_flag: whether (bssid) or (ssid,cache_id) is valid
216*5113495bSYour Name  * @action_flag: add/delete the entry
217*5113495bSYour Name  * @is_flush_all: FLAG to indicate PMKSA flush. True if PMKSA cache flush is
218*5113495bSYour Name  * needed.
219*5113495bSYour Name  */
220*5113495bSYour Name struct wmi_unified_pmk_cache {
221*5113495bSYour Name 	uint8_t             vdev_id;
222*5113495bSYour Name 	uint32_t            pmk_len;
223*5113495bSYour Name 	uint8_t             pmk[WMI_UNIFIED_MAX_PMK_LEN];
224*5113495bSYour Name 	uint32_t            pmkid_len;
225*5113495bSYour Name 	uint8_t             pmkid[WMI_UNIFIED_MAX_PMKID_LEN];
226*5113495bSYour Name 	wmi_host_mac_addr   bssid;
227*5113495bSYour Name 	struct wlan_ssid    ssid;
228*5113495bSYour Name 	uint32_t            cache_id;
229*5113495bSYour Name 	uint32_t            cat_flag;
230*5113495bSYour Name 	uint32_t            action_flag;
231*5113495bSYour Name 	bool                is_flush_all;
232*5113495bSYour Name };
233*5113495bSYour Name 
234*5113495bSYour Name #define WMI_QOS_NUM_AC_MAX 4
235*5113495bSYour Name 
236*5113495bSYour Name /**
237*5113495bSYour Name  * struct aggr_add_ts_param - ADDTS parameters
238*5113495bSYour Name  * @tspecIdx: TSPEC handler uniquely identifying a TSPEC for a STA in a BSS
239*5113495bSYour Name  * @tspec: tspec value
240*5113495bSYour Name  * @status: QDF status
241*5113495bSYour Name  * @sessionId: session id
242*5113495bSYour Name  * @vdev_id: vdev id
243*5113495bSYour Name  */
244*5113495bSYour Name struct aggr_add_ts_param {
245*5113495bSYour Name 	uint16_t tspecIdx;
246*5113495bSYour Name 	struct mac_tspec_ie tspec[WMI_QOS_NUM_AC_MAX];
247*5113495bSYour Name 	QDF_STATUS status[WMI_QOS_NUM_AC_MAX];
248*5113495bSYour Name 	uint8_t sessionId;
249*5113495bSYour Name 	uint8_t vdev_id;
250*5113495bSYour Name };
251*5113495bSYour Name 
252*5113495bSYour Name #define WMI_PERIODIC_TX_PTRN_MAX_SIZE 1536
253*5113495bSYour Name /**
254*5113495bSYour Name  * struct periodic_tx_pattern - periodic tx pattern
255*5113495bSYour Name  * @mac_address: MAC Address for the adapter
256*5113495bSYour Name  * @ucPtrnId: Pattern ID
257*5113495bSYour Name  * @ucPtrnSize: Pattern size
258*5113495bSYour Name  * @usPtrnIntervalMs: in ms
259*5113495bSYour Name  * @ucPattern: Pattern buffer
260*5113495bSYour Name  */
261*5113495bSYour Name struct periodic_tx_pattern {
262*5113495bSYour Name 	struct qdf_mac_addr mac_address;
263*5113495bSYour Name 	uint8_t ucPtrnId;
264*5113495bSYour Name 	uint16_t ucPtrnSize;
265*5113495bSYour Name 	uint32_t usPtrnIntervalMs;
266*5113495bSYour Name 	uint8_t ucPattern[WMI_PERIODIC_TX_PTRN_MAX_SIZE];
267*5113495bSYour Name };
268*5113495bSYour Name 
269*5113495bSYour Name /**
270*5113495bSYour Name  * struct flashing_req_params - led flashing parameter
271*5113495bSYour Name  * @req_id: request id
272*5113495bSYour Name  * @pattern_id: pattern identifier. 0: disconnected 1: connected
273*5113495bSYour Name  * @led_x0: led flashing parameter0
274*5113495bSYour Name  * @led_x1: led flashing parameter1
275*5113495bSYour Name  */
276*5113495bSYour Name struct flashing_req_params {
277*5113495bSYour Name 	uint32_t req_id;
278*5113495bSYour Name 	uint32_t pattern_id;
279*5113495bSYour Name 	uint32_t led_x0;
280*5113495bSYour Name 	uint32_t led_x1;
281*5113495bSYour Name };
282*5113495bSYour Name 
283*5113495bSYour Name /**
284*5113495bSYour Name  * struct wmi_pcl_chan_weights - Params to get the valid weighed list
285*5113495bSYour Name  * @pcl_list: channel freq list sorted in preferred order
286*5113495bSYour Name  * @pcl_len: Length of the PCL
287*5113495bSYour Name  * @saved_chan_list: Valid channel freq list updated as part of
288*5113495bSYour Name  * WMA_UPDATE_CHAN_LIST_REQ
289*5113495bSYour Name  * @saved_num_chan: Length of the valid channel list
290*5113495bSYour Name  * @weighed_valid_list: Weights of the valid channel list. This will have one
291*5113495bSYour Name  * to one mapping with valid_chan_list. FW expects channel order and size to be
292*5113495bSYour Name  * as per the list provided in WMI_SCAN_CHAN_LIST_CMDID.
293*5113495bSYour Name  * @weight_list: Weights assigned by policy manager
294*5113495bSYour Name  */
295*5113495bSYour Name struct wmi_pcl_chan_weights {
296*5113495bSYour Name 	uint32_t pcl_list[NUM_CHANNELS];
297*5113495bSYour Name 	uint32_t pcl_len;
298*5113495bSYour Name 	uint32_t saved_chan_list[NUM_CHANNELS];
299*5113495bSYour Name 	uint32_t saved_num_chan;
300*5113495bSYour Name 	uint8_t weighed_valid_list[NUM_CHANNELS];
301*5113495bSYour Name 	uint8_t weight_list[NUM_CHANNELS];
302*5113495bSYour Name };
303*5113495bSYour Name 
304*5113495bSYour Name /**
305*5113495bSYour Name  * struct wmi_adaptive_dwelltime_params - the adaptive dwelltime params
306*5113495bSYour Name  * @vdev_id: vdev id
307*5113495bSYour Name  * @is_enabled: Adaptive dwell time is enabled/disabled
308*5113495bSYour Name  * @dwelltime_mode: global default adaptive dwell mode
309*5113495bSYour Name  * @lpf_weight: weight to calculate the average low pass
310*5113495bSYour Name  * filter for channel congestion
311*5113495bSYour Name  * @passive_mon_intval: intval to monitor wifi activity in passive scan in msec
312*5113495bSYour Name  * @wifi_act_threshold: % of wifi activity used in passive scan 0-100
313*5113495bSYour Name  *
314*5113495bSYour Name  */
315*5113495bSYour Name struct wmi_adaptive_dwelltime_params {
316*5113495bSYour Name 	uint32_t vdev_id;
317*5113495bSYour Name 	bool is_enabled;
318*5113495bSYour Name 	enum scan_dwelltime_adaptive_mode dwelltime_mode;
319*5113495bSYour Name 	uint8_t lpf_weight;
320*5113495bSYour Name 	uint8_t passive_mon_intval;
321*5113495bSYour Name 	uint8_t wifi_act_threshold;
322*5113495bSYour Name };
323*5113495bSYour Name 
324*5113495bSYour Name #define WMI_SCAN_CLIENT_MAX        7
325*5113495bSYour Name 
326*5113495bSYour Name /**
327*5113495bSYour Name  * struct wmi_dbs_scan_sel_params - DBS scan selection params
328*5113495bSYour Name  * @num_clients: Number of scan clients dutycycle
329*5113495bSYour Name  * @pdev_id: pdev_id for identifying the MAC
330*5113495bSYour Name  * @module_id: scan client module id
331*5113495bSYour Name  * @num_dbs_scans: number of DBS scans
332*5113495bSYour Name  * @num_non_dbs_scans: number of non-DBS scans
333*5113495bSYour Name  */
334*5113495bSYour Name struct wmi_dbs_scan_sel_params {
335*5113495bSYour Name 	uint32_t num_clients;
336*5113495bSYour Name 	uint32_t pdev_id;
337*5113495bSYour Name 	uint32_t module_id[WMI_SCAN_CLIENT_MAX];
338*5113495bSYour Name 	uint32_t num_dbs_scans[WMI_SCAN_CLIENT_MAX];
339*5113495bSYour Name 	uint32_t num_non_dbs_scans[WMI_SCAN_CLIENT_MAX];
340*5113495bSYour Name };
341*5113495bSYour Name 
342*5113495bSYour Name /**
343*5113495bSYour Name  * struct set_arp_stats - set/reset arp stats
344*5113495bSYour Name  * @vdev_id: session id
345*5113495bSYour Name  * @flag: enable/disable stats
346*5113495bSYour Name  * @pkt_type: type of packet(1 - arp)
347*5113495bSYour Name  * @ip_addr: subnet ipv4 address in case of encrypted packets
348*5113495bSYour Name  * @pkt_type_bitmap: pkt bitmap
349*5113495bSYour Name  * @tcp_src_port: tcp src port for pkt tracking
350*5113495bSYour Name  * @tcp_dst_port: tcp dst port for pkt tracking
351*5113495bSYour Name  * @icmp_ipv4: target ipv4 address to track ping packets
352*5113495bSYour Name  * @reserved: reserved
353*5113495bSYour Name  */
354*5113495bSYour Name struct set_arp_stats {
355*5113495bSYour Name 	uint32_t vdev_id;
356*5113495bSYour Name 	uint8_t flag;
357*5113495bSYour Name 	uint8_t pkt_type;
358*5113495bSYour Name 	uint32_t ip_addr;
359*5113495bSYour Name 	uint32_t pkt_type_bitmap;
360*5113495bSYour Name 	uint32_t tcp_src_port;
361*5113495bSYour Name 	uint32_t tcp_dst_port;
362*5113495bSYour Name 	uint32_t icmp_ipv4;
363*5113495bSYour Name 	uint32_t reserved;
364*5113495bSYour Name };
365*5113495bSYour Name 
366*5113495bSYour Name /**
367*5113495bSYour Name  * struct get_arp_stats - get arp stats from firmware
368*5113495bSYour Name  * @pkt_type: packet type(1 - ARP)
369*5113495bSYour Name  * @vdev_id: session id
370*5113495bSYour Name  */
371*5113495bSYour Name struct get_arp_stats {
372*5113495bSYour Name 	uint8_t pkt_type;
373*5113495bSYour Name 	uint32_t vdev_id;
374*5113495bSYour Name };
375*5113495bSYour Name 
376*5113495bSYour Name #endif /* _WMI_UNIFIED_STA_PARAM_H_ */
377