gpio: rcar: Fix runtime PM imbalance on error
[linux/fpc-iii.git] / drivers / net / wireless / ath / ath10k / qmi_wlfw_v01.c
blob86fcf4e1de5f800640a99138d5324dc42e71884d
1 // SPDX-License-Identifier: ISC
2 /*
3 * Copyright (c) 2018 The Linux Foundation. All rights reserved.
4 */
6 #include <linux/soc/qcom/qmi.h>
7 #include <linux/types.h>
8 #include "qmi_wlfw_v01.h"
10 static struct qmi_elem_info wlfw_ce_tgt_pipe_cfg_s_v01_ei[] = {
12 .data_type = QMI_UNSIGNED_4_BYTE,
13 .elem_len = 1,
14 .elem_size = sizeof(u32),
15 .array_type = NO_ARRAY,
16 .tlv_type = 0,
17 .offset = offsetof(struct wlfw_ce_tgt_pipe_cfg_s_v01,
18 pipe_num),
21 .data_type = QMI_SIGNED_4_BYTE_ENUM,
22 .elem_len = 1,
23 .elem_size = sizeof(enum wlfw_pipedir_enum_v01),
24 .array_type = NO_ARRAY,
25 .tlv_type = 0,
26 .offset = offsetof(struct wlfw_ce_tgt_pipe_cfg_s_v01,
27 pipe_dir),
30 .data_type = QMI_UNSIGNED_4_BYTE,
31 .elem_len = 1,
32 .elem_size = sizeof(u32),
33 .array_type = NO_ARRAY,
34 .tlv_type = 0,
35 .offset = offsetof(struct wlfw_ce_tgt_pipe_cfg_s_v01,
36 nentries),
39 .data_type = QMI_UNSIGNED_4_BYTE,
40 .elem_len = 1,
41 .elem_size = sizeof(u32),
42 .array_type = NO_ARRAY,
43 .tlv_type = 0,
44 .offset = offsetof(struct wlfw_ce_tgt_pipe_cfg_s_v01,
45 nbytes_max),
48 .data_type = QMI_UNSIGNED_4_BYTE,
49 .elem_len = 1,
50 .elem_size = sizeof(u32),
51 .array_type = NO_ARRAY,
52 .tlv_type = 0,
53 .offset = offsetof(struct wlfw_ce_tgt_pipe_cfg_s_v01,
54 flags),
59 static struct qmi_elem_info wlfw_ce_svc_pipe_cfg_s_v01_ei[] = {
61 .data_type = QMI_UNSIGNED_4_BYTE,
62 .elem_len = 1,
63 .elem_size = sizeof(u32),
64 .array_type = NO_ARRAY,
65 .tlv_type = 0,
66 .offset = offsetof(struct wlfw_ce_svc_pipe_cfg_s_v01,
67 service_id),
70 .data_type = QMI_SIGNED_4_BYTE_ENUM,
71 .elem_len = 1,
72 .elem_size = sizeof(enum wlfw_pipedir_enum_v01),
73 .array_type = NO_ARRAY,
74 .tlv_type = 0,
75 .offset = offsetof(struct wlfw_ce_svc_pipe_cfg_s_v01,
76 pipe_dir),
79 .data_type = QMI_UNSIGNED_4_BYTE,
80 .elem_len = 1,
81 .elem_size = sizeof(u32),
82 .array_type = NO_ARRAY,
83 .tlv_type = 0,
84 .offset = offsetof(struct wlfw_ce_svc_pipe_cfg_s_v01,
85 pipe_num),
90 static struct qmi_elem_info wlfw_shadow_reg_cfg_s_v01_ei[] = {
92 .data_type = QMI_UNSIGNED_2_BYTE,
93 .elem_len = 1,
94 .elem_size = sizeof(u16),
95 .array_type = NO_ARRAY,
96 .tlv_type = 0,
97 .offset = offsetof(struct wlfw_shadow_reg_cfg_s_v01,
98 id),
101 .data_type = QMI_UNSIGNED_2_BYTE,
102 .elem_len = 1,
103 .elem_size = sizeof(u16),
104 .array_type = NO_ARRAY,
105 .tlv_type = 0,
106 .offset = offsetof(struct wlfw_shadow_reg_cfg_s_v01,
107 offset),
112 static struct qmi_elem_info wlfw_shadow_reg_v2_cfg_s_v01_ei[] = {
114 .data_type = QMI_UNSIGNED_4_BYTE,
115 .elem_len = 1,
116 .elem_size = sizeof(u32),
117 .array_type = NO_ARRAY,
118 .tlv_type = 0,
119 .offset = offsetof(struct wlfw_shadow_reg_v2_cfg_s_v01,
120 addr),
125 static struct qmi_elem_info wlfw_memory_region_info_s_v01_ei[] = {
127 .data_type = QMI_UNSIGNED_8_BYTE,
128 .elem_len = 1,
129 .elem_size = sizeof(u64),
130 .array_type = NO_ARRAY,
131 .tlv_type = 0,
132 .offset = offsetof(struct wlfw_memory_region_info_s_v01,
133 region_addr),
136 .data_type = QMI_UNSIGNED_4_BYTE,
137 .elem_len = 1,
138 .elem_size = sizeof(u32),
139 .array_type = NO_ARRAY,
140 .tlv_type = 0,
141 .offset = offsetof(struct wlfw_memory_region_info_s_v01,
142 size),
145 .data_type = QMI_UNSIGNED_1_BYTE,
146 .elem_len = 1,
147 .elem_size = sizeof(u8),
148 .array_type = NO_ARRAY,
149 .tlv_type = 0,
150 .offset = offsetof(struct wlfw_memory_region_info_s_v01,
151 secure_flag),
156 static struct qmi_elem_info wlfw_mem_cfg_s_v01_ei[] = {
158 .data_type = QMI_UNSIGNED_8_BYTE,
159 .elem_len = 1,
160 .elem_size = sizeof(u64),
161 .array_type = NO_ARRAY,
162 .tlv_type = 0,
163 .offset = offsetof(struct wlfw_mem_cfg_s_v01,
164 offset),
167 .data_type = QMI_UNSIGNED_4_BYTE,
168 .elem_len = 1,
169 .elem_size = sizeof(u32),
170 .array_type = NO_ARRAY,
171 .tlv_type = 0,
172 .offset = offsetof(struct wlfw_mem_cfg_s_v01,
173 size),
176 .data_type = QMI_UNSIGNED_1_BYTE,
177 .elem_len = 1,
178 .elem_size = sizeof(u8),
179 .array_type = NO_ARRAY,
180 .tlv_type = 0,
181 .offset = offsetof(struct wlfw_mem_cfg_s_v01,
182 secure_flag),
187 static struct qmi_elem_info wlfw_mem_seg_s_v01_ei[] = {
189 .data_type = QMI_UNSIGNED_4_BYTE,
190 .elem_len = 1,
191 .elem_size = sizeof(u32),
192 .array_type = NO_ARRAY,
193 .tlv_type = 0,
194 .offset = offsetof(struct wlfw_mem_seg_s_v01,
195 size),
198 .data_type = QMI_SIGNED_4_BYTE_ENUM,
199 .elem_len = 1,
200 .elem_size = sizeof(enum wlfw_mem_type_enum_v01),
201 .array_type = NO_ARRAY,
202 .tlv_type = 0,
203 .offset = offsetof(struct wlfw_mem_seg_s_v01,
204 type),
207 .data_type = QMI_DATA_LEN,
208 .elem_len = 1,
209 .elem_size = sizeof(u8),
210 .array_type = NO_ARRAY,
211 .tlv_type = 0,
212 .offset = offsetof(struct wlfw_mem_seg_s_v01,
213 mem_cfg_len),
216 .data_type = QMI_STRUCT,
217 .elem_len = QMI_WLFW_MAX_NUM_MEM_CFG_V01,
218 .elem_size = sizeof(struct wlfw_mem_cfg_s_v01),
219 .array_type = VAR_LEN_ARRAY,
220 .tlv_type = 0,
221 .offset = offsetof(struct wlfw_mem_seg_s_v01,
222 mem_cfg),
223 .ei_array = wlfw_mem_cfg_s_v01_ei,
228 static struct qmi_elem_info wlfw_mem_seg_resp_s_v01_ei[] = {
230 .data_type = QMI_UNSIGNED_8_BYTE,
231 .elem_len = 1,
232 .elem_size = sizeof(u64),
233 .array_type = NO_ARRAY,
234 .tlv_type = 0,
235 .offset = offsetof(struct wlfw_mem_seg_resp_s_v01,
236 addr),
239 .data_type = QMI_UNSIGNED_4_BYTE,
240 .elem_len = 1,
241 .elem_size = sizeof(u32),
242 .array_type = NO_ARRAY,
243 .tlv_type = 0,
244 .offset = offsetof(struct wlfw_mem_seg_resp_s_v01,
245 size),
248 .data_type = QMI_SIGNED_4_BYTE_ENUM,
249 .elem_len = 1,
250 .elem_size = sizeof(enum wlfw_mem_type_enum_v01),
251 .array_type = NO_ARRAY,
252 .tlv_type = 0,
253 .offset = offsetof(struct wlfw_mem_seg_resp_s_v01,
254 type),
259 static struct qmi_elem_info wlfw_rf_chip_info_s_v01_ei[] = {
261 .data_type = QMI_UNSIGNED_4_BYTE,
262 .elem_len = 1,
263 .elem_size = sizeof(u32),
264 .array_type = NO_ARRAY,
265 .tlv_type = 0,
266 .offset = offsetof(struct wlfw_rf_chip_info_s_v01,
267 chip_id),
270 .data_type = QMI_UNSIGNED_4_BYTE,
271 .elem_len = 1,
272 .elem_size = sizeof(u32),
273 .array_type = NO_ARRAY,
274 .tlv_type = 0,
275 .offset = offsetof(struct wlfw_rf_chip_info_s_v01,
276 chip_family),
281 static struct qmi_elem_info wlfw_rf_board_info_s_v01_ei[] = {
283 .data_type = QMI_UNSIGNED_4_BYTE,
284 .elem_len = 1,
285 .elem_size = sizeof(u32),
286 .array_type = NO_ARRAY,
287 .tlv_type = 0,
288 .offset = offsetof(struct wlfw_rf_board_info_s_v01,
289 board_id),
294 static struct qmi_elem_info wlfw_soc_info_s_v01_ei[] = {
296 .data_type = QMI_UNSIGNED_4_BYTE,
297 .elem_len = 1,
298 .elem_size = sizeof(u32),
299 .array_type = NO_ARRAY,
300 .tlv_type = 0,
301 .offset = offsetof(struct wlfw_soc_info_s_v01,
302 soc_id),
307 static struct qmi_elem_info wlfw_fw_version_info_s_v01_ei[] = {
309 .data_type = QMI_UNSIGNED_4_BYTE,
310 .elem_len = 1,
311 .elem_size = sizeof(u32),
312 .array_type = NO_ARRAY,
313 .tlv_type = 0,
314 .offset = offsetof(struct wlfw_fw_version_info_s_v01,
315 fw_version),
318 .data_type = QMI_STRING,
319 .elem_len = QMI_WLFW_MAX_TIMESTAMP_LEN_V01 + 1,
320 .elem_size = sizeof(char),
321 .array_type = NO_ARRAY,
322 .tlv_type = 0,
323 .offset = offsetof(struct wlfw_fw_version_info_s_v01,
324 fw_build_timestamp),
329 struct qmi_elem_info wlfw_ind_register_req_msg_v01_ei[] = {
331 .data_type = QMI_OPT_FLAG,
332 .elem_len = 1,
333 .elem_size = sizeof(u8),
334 .array_type = NO_ARRAY,
335 .tlv_type = 0x10,
336 .offset = offsetof(struct wlfw_ind_register_req_msg_v01,
337 fw_ready_enable_valid),
340 .data_type = QMI_UNSIGNED_1_BYTE,
341 .elem_len = 1,
342 .elem_size = sizeof(u8),
343 .array_type = NO_ARRAY,
344 .tlv_type = 0x10,
345 .offset = offsetof(struct wlfw_ind_register_req_msg_v01,
346 fw_ready_enable),
349 .data_type = QMI_OPT_FLAG,
350 .elem_len = 1,
351 .elem_size = sizeof(u8),
352 .array_type = NO_ARRAY,
353 .tlv_type = 0x11,
354 .offset = offsetof(struct wlfw_ind_register_req_msg_v01,
355 initiate_cal_download_enable_valid),
358 .data_type = QMI_UNSIGNED_1_BYTE,
359 .elem_len = 1,
360 .elem_size = sizeof(u8),
361 .array_type = NO_ARRAY,
362 .tlv_type = 0x11,
363 .offset = offsetof(struct wlfw_ind_register_req_msg_v01,
364 initiate_cal_download_enable),
367 .data_type = QMI_OPT_FLAG,
368 .elem_len = 1,
369 .elem_size = sizeof(u8),
370 .array_type = NO_ARRAY,
371 .tlv_type = 0x12,
372 .offset = offsetof(struct wlfw_ind_register_req_msg_v01,
373 initiate_cal_update_enable_valid),
376 .data_type = QMI_UNSIGNED_1_BYTE,
377 .elem_len = 1,
378 .elem_size = sizeof(u8),
379 .array_type = NO_ARRAY,
380 .tlv_type = 0x12,
381 .offset = offsetof(struct wlfw_ind_register_req_msg_v01,
382 initiate_cal_update_enable),
385 .data_type = QMI_OPT_FLAG,
386 .elem_len = 1,
387 .elem_size = sizeof(u8),
388 .array_type = NO_ARRAY,
389 .tlv_type = 0x13,
390 .offset = offsetof(struct wlfw_ind_register_req_msg_v01,
391 msa_ready_enable_valid),
394 .data_type = QMI_UNSIGNED_1_BYTE,
395 .elem_len = 1,
396 .elem_size = sizeof(u8),
397 .array_type = NO_ARRAY,
398 .tlv_type = 0x13,
399 .offset = offsetof(struct wlfw_ind_register_req_msg_v01,
400 msa_ready_enable),
403 .data_type = QMI_OPT_FLAG,
404 .elem_len = 1,
405 .elem_size = sizeof(u8),
406 .array_type = NO_ARRAY,
407 .tlv_type = 0x14,
408 .offset = offsetof(struct wlfw_ind_register_req_msg_v01,
409 pin_connect_result_enable_valid),
412 .data_type = QMI_UNSIGNED_1_BYTE,
413 .elem_len = 1,
414 .elem_size = sizeof(u8),
415 .array_type = NO_ARRAY,
416 .tlv_type = 0x14,
417 .offset = offsetof(struct wlfw_ind_register_req_msg_v01,
418 pin_connect_result_enable),
421 .data_type = QMI_OPT_FLAG,
422 .elem_len = 1,
423 .elem_size = sizeof(u8),
424 .array_type = NO_ARRAY,
425 .tlv_type = 0x15,
426 .offset = offsetof(struct wlfw_ind_register_req_msg_v01,
427 client_id_valid),
430 .data_type = QMI_UNSIGNED_4_BYTE,
431 .elem_len = 1,
432 .elem_size = sizeof(u32),
433 .array_type = NO_ARRAY,
434 .tlv_type = 0x15,
435 .offset = offsetof(struct wlfw_ind_register_req_msg_v01,
436 client_id),
439 .data_type = QMI_OPT_FLAG,
440 .elem_len = 1,
441 .elem_size = sizeof(u8),
442 .array_type = NO_ARRAY,
443 .tlv_type = 0x16,
444 .offset = offsetof(struct wlfw_ind_register_req_msg_v01,
445 request_mem_enable_valid),
448 .data_type = QMI_UNSIGNED_1_BYTE,
449 .elem_len = 1,
450 .elem_size = sizeof(u8),
451 .array_type = NO_ARRAY,
452 .tlv_type = 0x16,
453 .offset = offsetof(struct wlfw_ind_register_req_msg_v01,
454 request_mem_enable),
457 .data_type = QMI_OPT_FLAG,
458 .elem_len = 1,
459 .elem_size = sizeof(u8),
460 .array_type = NO_ARRAY,
461 .tlv_type = 0x17,
462 .offset = offsetof(struct wlfw_ind_register_req_msg_v01,
463 mem_ready_enable_valid),
466 .data_type = QMI_UNSIGNED_1_BYTE,
467 .elem_len = 1,
468 .elem_size = sizeof(u8),
469 .array_type = NO_ARRAY,
470 .tlv_type = 0x17,
471 .offset = offsetof(struct wlfw_ind_register_req_msg_v01,
472 mem_ready_enable),
475 .data_type = QMI_OPT_FLAG,
476 .elem_len = 1,
477 .elem_size = sizeof(u8),
478 .array_type = NO_ARRAY,
479 .tlv_type = 0x18,
480 .offset = offsetof(struct wlfw_ind_register_req_msg_v01,
481 fw_init_done_enable_valid),
484 .data_type = QMI_UNSIGNED_1_BYTE,
485 .elem_len = 1,
486 .elem_size = sizeof(u8),
487 .array_type = NO_ARRAY,
488 .tlv_type = 0x18,
489 .offset = offsetof(struct wlfw_ind_register_req_msg_v01,
490 fw_init_done_enable),
493 .data_type = QMI_OPT_FLAG,
494 .elem_len = 1,
495 .elem_size = sizeof(u8),
496 .array_type = NO_ARRAY,
497 .tlv_type = 0x19,
498 .offset = offsetof(struct wlfw_ind_register_req_msg_v01,
499 rejuvenate_enable_valid),
502 .data_type = QMI_UNSIGNED_4_BYTE,
503 .elem_len = 1,
504 .elem_size = sizeof(u32),
505 .array_type = NO_ARRAY,
506 .tlv_type = 0x19,
507 .offset = offsetof(struct wlfw_ind_register_req_msg_v01,
508 rejuvenate_enable),
511 .data_type = QMI_OPT_FLAG,
512 .elem_len = 1,
513 .elem_size = sizeof(u8),
514 .array_type = NO_ARRAY,
515 .tlv_type = 0x1A,
516 .offset = offsetof(struct wlfw_ind_register_req_msg_v01,
517 xo_cal_enable_valid),
520 .data_type = QMI_UNSIGNED_1_BYTE,
521 .elem_len = 1,
522 .elem_size = sizeof(u8),
523 .array_type = NO_ARRAY,
524 .tlv_type = 0x1A,
525 .offset = offsetof(struct wlfw_ind_register_req_msg_v01,
526 xo_cal_enable),
531 struct qmi_elem_info wlfw_ind_register_resp_msg_v01_ei[] = {
533 .data_type = QMI_STRUCT,
534 .elem_len = 1,
535 .elem_size = sizeof(struct qmi_response_type_v01),
536 .array_type = NO_ARRAY,
537 .tlv_type = 0x02,
538 .offset = offsetof(struct wlfw_ind_register_resp_msg_v01,
539 resp),
540 .ei_array = qmi_response_type_v01_ei,
543 .data_type = QMI_OPT_FLAG,
544 .elem_len = 1,
545 .elem_size = sizeof(u8),
546 .array_type = NO_ARRAY,
547 .tlv_type = 0x10,
548 .offset = offsetof(struct wlfw_ind_register_resp_msg_v01,
549 fw_status_valid),
552 .data_type = QMI_UNSIGNED_8_BYTE,
553 .elem_len = 1,
554 .elem_size = sizeof(u64),
555 .array_type = NO_ARRAY,
556 .tlv_type = 0x10,
557 .offset = offsetof(struct wlfw_ind_register_resp_msg_v01,
558 fw_status),
563 struct qmi_elem_info wlfw_fw_ready_ind_msg_v01_ei[] = {
567 struct qmi_elem_info wlfw_msa_ready_ind_msg_v01_ei[] = {
571 struct qmi_elem_info wlfw_pin_connect_result_ind_msg_v01_ei[] = {
573 .data_type = QMI_OPT_FLAG,
574 .elem_len = 1,
575 .elem_size = sizeof(u8),
576 .array_type = NO_ARRAY,
577 .tlv_type = 0x10,
578 .offset = offsetof(struct wlfw_pin_connect_result_ind_msg_v01,
579 pwr_pin_result_valid),
582 .data_type = QMI_UNSIGNED_4_BYTE,
583 .elem_len = 1,
584 .elem_size = sizeof(u32),
585 .array_type = NO_ARRAY,
586 .tlv_type = 0x10,
587 .offset = offsetof(struct wlfw_pin_connect_result_ind_msg_v01,
588 pwr_pin_result),
591 .data_type = QMI_OPT_FLAG,
592 .elem_len = 1,
593 .elem_size = sizeof(u8),
594 .array_type = NO_ARRAY,
595 .tlv_type = 0x11,
596 .offset = offsetof(struct wlfw_pin_connect_result_ind_msg_v01,
597 phy_io_pin_result_valid),
600 .data_type = QMI_UNSIGNED_4_BYTE,
601 .elem_len = 1,
602 .elem_size = sizeof(u32),
603 .array_type = NO_ARRAY,
604 .tlv_type = 0x11,
605 .offset = offsetof(struct wlfw_pin_connect_result_ind_msg_v01,
606 phy_io_pin_result),
609 .data_type = QMI_OPT_FLAG,
610 .elem_len = 1,
611 .elem_size = sizeof(u8),
612 .array_type = NO_ARRAY,
613 .tlv_type = 0x12,
614 .offset = offsetof(struct wlfw_pin_connect_result_ind_msg_v01,
615 rf_pin_result_valid),
618 .data_type = QMI_UNSIGNED_4_BYTE,
619 .elem_len = 1,
620 .elem_size = sizeof(u32),
621 .array_type = NO_ARRAY,
622 .tlv_type = 0x12,
623 .offset = offsetof(struct wlfw_pin_connect_result_ind_msg_v01,
624 rf_pin_result),
629 struct qmi_elem_info wlfw_wlan_mode_req_msg_v01_ei[] = {
631 .data_type = QMI_SIGNED_4_BYTE_ENUM,
632 .elem_len = 1,
633 .elem_size = sizeof(enum wlfw_driver_mode_enum_v01),
634 .array_type = NO_ARRAY,
635 .tlv_type = 0x01,
636 .offset = offsetof(struct wlfw_wlan_mode_req_msg_v01,
637 mode),
640 .data_type = QMI_OPT_FLAG,
641 .elem_len = 1,
642 .elem_size = sizeof(u8),
643 .array_type = NO_ARRAY,
644 .tlv_type = 0x10,
645 .offset = offsetof(struct wlfw_wlan_mode_req_msg_v01,
646 hw_debug_valid),
649 .data_type = QMI_UNSIGNED_1_BYTE,
650 .elem_len = 1,
651 .elem_size = sizeof(u8),
652 .array_type = NO_ARRAY,
653 .tlv_type = 0x10,
654 .offset = offsetof(struct wlfw_wlan_mode_req_msg_v01,
655 hw_debug),
660 struct qmi_elem_info wlfw_wlan_mode_resp_msg_v01_ei[] = {
662 .data_type = QMI_STRUCT,
663 .elem_len = 1,
664 .elem_size = sizeof(struct qmi_response_type_v01),
665 .array_type = NO_ARRAY,
666 .tlv_type = 0x02,
667 .offset = offsetof(struct wlfw_wlan_mode_resp_msg_v01,
668 resp),
669 .ei_array = qmi_response_type_v01_ei,
674 struct qmi_elem_info wlfw_wlan_cfg_req_msg_v01_ei[] = {
676 .data_type = QMI_OPT_FLAG,
677 .elem_len = 1,
678 .elem_size = sizeof(u8),
679 .array_type = NO_ARRAY,
680 .tlv_type = 0x10,
681 .offset = offsetof(struct wlfw_wlan_cfg_req_msg_v01,
682 host_version_valid),
685 .data_type = QMI_STRING,
686 .elem_len = QMI_WLFW_MAX_STR_LEN_V01 + 1,
687 .elem_size = sizeof(char),
688 .array_type = NO_ARRAY,
689 .tlv_type = 0x10,
690 .offset = offsetof(struct wlfw_wlan_cfg_req_msg_v01,
691 host_version),
694 .data_type = QMI_OPT_FLAG,
695 .elem_len = 1,
696 .elem_size = sizeof(u8),
697 .array_type = NO_ARRAY,
698 .tlv_type = 0x11,
699 .offset = offsetof(struct wlfw_wlan_cfg_req_msg_v01,
700 tgt_cfg_valid),
703 .data_type = QMI_DATA_LEN,
704 .elem_len = 1,
705 .elem_size = sizeof(u8),
706 .array_type = NO_ARRAY,
707 .tlv_type = 0x11,
708 .offset = offsetof(struct wlfw_wlan_cfg_req_msg_v01,
709 tgt_cfg_len),
712 .data_type = QMI_STRUCT,
713 .elem_len = QMI_WLFW_MAX_NUM_CE_V01,
714 .elem_size = sizeof(struct wlfw_ce_tgt_pipe_cfg_s_v01),
715 .array_type = VAR_LEN_ARRAY,
716 .tlv_type = 0x11,
717 .offset = offsetof(struct wlfw_wlan_cfg_req_msg_v01,
718 tgt_cfg),
719 .ei_array = wlfw_ce_tgt_pipe_cfg_s_v01_ei,
722 .data_type = QMI_OPT_FLAG,
723 .elem_len = 1,
724 .elem_size = sizeof(u8),
725 .array_type = NO_ARRAY,
726 .tlv_type = 0x12,
727 .offset = offsetof(struct wlfw_wlan_cfg_req_msg_v01,
728 svc_cfg_valid),
731 .data_type = QMI_DATA_LEN,
732 .elem_len = 1,
733 .elem_size = sizeof(u8),
734 .array_type = NO_ARRAY,
735 .tlv_type = 0x12,
736 .offset = offsetof(struct wlfw_wlan_cfg_req_msg_v01,
737 svc_cfg_len),
740 .data_type = QMI_STRUCT,
741 .elem_len = QMI_WLFW_MAX_NUM_SVC_V01,
742 .elem_size = sizeof(struct wlfw_ce_svc_pipe_cfg_s_v01),
743 .array_type = VAR_LEN_ARRAY,
744 .tlv_type = 0x12,
745 .offset = offsetof(struct wlfw_wlan_cfg_req_msg_v01,
746 svc_cfg),
747 .ei_array = wlfw_ce_svc_pipe_cfg_s_v01_ei,
750 .data_type = QMI_OPT_FLAG,
751 .elem_len = 1,
752 .elem_size = sizeof(u8),
753 .array_type = NO_ARRAY,
754 .tlv_type = 0x13,
755 .offset = offsetof(struct wlfw_wlan_cfg_req_msg_v01,
756 shadow_reg_valid),
759 .data_type = QMI_DATA_LEN,
760 .elem_len = 1,
761 .elem_size = sizeof(u8),
762 .array_type = NO_ARRAY,
763 .tlv_type = 0x13,
764 .offset = offsetof(struct wlfw_wlan_cfg_req_msg_v01,
765 shadow_reg_len),
768 .data_type = QMI_STRUCT,
769 .elem_len = QMI_WLFW_MAX_NUM_SHADOW_REG_V01,
770 .elem_size = sizeof(struct wlfw_shadow_reg_cfg_s_v01),
771 .array_type = VAR_LEN_ARRAY,
772 .tlv_type = 0x13,
773 .offset = offsetof(struct wlfw_wlan_cfg_req_msg_v01,
774 shadow_reg),
775 .ei_array = wlfw_shadow_reg_cfg_s_v01_ei,
778 .data_type = QMI_OPT_FLAG,
779 .elem_len = 1,
780 .elem_size = sizeof(u8),
781 .array_type = NO_ARRAY,
782 .tlv_type = 0x14,
783 .offset = offsetof(struct wlfw_wlan_cfg_req_msg_v01,
784 shadow_reg_v2_valid),
787 .data_type = QMI_DATA_LEN,
788 .elem_len = 1,
789 .elem_size = sizeof(u8),
790 .array_type = NO_ARRAY,
791 .tlv_type = 0x14,
792 .offset = offsetof(struct wlfw_wlan_cfg_req_msg_v01,
793 shadow_reg_v2_len),
796 .data_type = QMI_STRUCT,
797 .elem_len = QMI_WLFW_MAX_SHADOW_REG_V2,
798 .elem_size = sizeof(struct wlfw_shadow_reg_v2_cfg_s_v01),
799 .array_type = VAR_LEN_ARRAY,
800 .tlv_type = 0x14,
801 .offset = offsetof(struct wlfw_wlan_cfg_req_msg_v01,
802 shadow_reg_v2),
803 .ei_array = wlfw_shadow_reg_v2_cfg_s_v01_ei,
808 struct qmi_elem_info wlfw_wlan_cfg_resp_msg_v01_ei[] = {
810 .data_type = QMI_STRUCT,
811 .elem_len = 1,
812 .elem_size = sizeof(struct qmi_response_type_v01),
813 .array_type = NO_ARRAY,
814 .tlv_type = 0x02,
815 .offset = offsetof(struct wlfw_wlan_cfg_resp_msg_v01,
816 resp),
817 .ei_array = qmi_response_type_v01_ei,
822 struct qmi_elem_info wlfw_cap_req_msg_v01_ei[] = {
826 struct qmi_elem_info wlfw_cap_resp_msg_v01_ei[] = {
828 .data_type = QMI_STRUCT,
829 .elem_len = 1,
830 .elem_size = sizeof(struct qmi_response_type_v01),
831 .array_type = NO_ARRAY,
832 .tlv_type = 0x02,
833 .offset = offsetof(struct wlfw_cap_resp_msg_v01,
834 resp),
835 .ei_array = qmi_response_type_v01_ei,
838 .data_type = QMI_OPT_FLAG,
839 .elem_len = 1,
840 .elem_size = sizeof(u8),
841 .array_type = NO_ARRAY,
842 .tlv_type = 0x10,
843 .offset = offsetof(struct wlfw_cap_resp_msg_v01,
844 chip_info_valid),
847 .data_type = QMI_STRUCT,
848 .elem_len = 1,
849 .elem_size = sizeof(struct wlfw_rf_chip_info_s_v01),
850 .array_type = NO_ARRAY,
851 .tlv_type = 0x10,
852 .offset = offsetof(struct wlfw_cap_resp_msg_v01,
853 chip_info),
854 .ei_array = wlfw_rf_chip_info_s_v01_ei,
857 .data_type = QMI_OPT_FLAG,
858 .elem_len = 1,
859 .elem_size = sizeof(u8),
860 .array_type = NO_ARRAY,
861 .tlv_type = 0x11,
862 .offset = offsetof(struct wlfw_cap_resp_msg_v01,
863 board_info_valid),
866 .data_type = QMI_STRUCT,
867 .elem_len = 1,
868 .elem_size = sizeof(struct wlfw_rf_board_info_s_v01),
869 .array_type = NO_ARRAY,
870 .tlv_type = 0x11,
871 .offset = offsetof(struct wlfw_cap_resp_msg_v01,
872 board_info),
873 .ei_array = wlfw_rf_board_info_s_v01_ei,
876 .data_type = QMI_OPT_FLAG,
877 .elem_len = 1,
878 .elem_size = sizeof(u8),
879 .array_type = NO_ARRAY,
880 .tlv_type = 0x12,
881 .offset = offsetof(struct wlfw_cap_resp_msg_v01,
882 soc_info_valid),
885 .data_type = QMI_STRUCT,
886 .elem_len = 1,
887 .elem_size = sizeof(struct wlfw_soc_info_s_v01),
888 .array_type = NO_ARRAY,
889 .tlv_type = 0x12,
890 .offset = offsetof(struct wlfw_cap_resp_msg_v01,
891 soc_info),
892 .ei_array = wlfw_soc_info_s_v01_ei,
895 .data_type = QMI_OPT_FLAG,
896 .elem_len = 1,
897 .elem_size = sizeof(u8),
898 .array_type = NO_ARRAY,
899 .tlv_type = 0x13,
900 .offset = offsetof(struct wlfw_cap_resp_msg_v01,
901 fw_version_info_valid),
904 .data_type = QMI_STRUCT,
905 .elem_len = 1,
906 .elem_size = sizeof(struct wlfw_fw_version_info_s_v01),
907 .array_type = NO_ARRAY,
908 .tlv_type = 0x13,
909 .offset = offsetof(struct wlfw_cap_resp_msg_v01,
910 fw_version_info),
911 .ei_array = wlfw_fw_version_info_s_v01_ei,
914 .data_type = QMI_OPT_FLAG,
915 .elem_len = 1,
916 .elem_size = sizeof(u8),
917 .array_type = NO_ARRAY,
918 .tlv_type = 0x14,
919 .offset = offsetof(struct wlfw_cap_resp_msg_v01,
920 fw_build_id_valid),
923 .data_type = QMI_STRING,
924 .elem_len = QMI_WLFW_MAX_BUILD_ID_LEN_V01 + 1,
925 .elem_size = sizeof(char),
926 .array_type = NO_ARRAY,
927 .tlv_type = 0x14,
928 .offset = offsetof(struct wlfw_cap_resp_msg_v01,
929 fw_build_id),
932 .data_type = QMI_OPT_FLAG,
933 .elem_len = 1,
934 .elem_size = sizeof(u8),
935 .array_type = NO_ARRAY,
936 .tlv_type = 0x15,
937 .offset = offsetof(struct wlfw_cap_resp_msg_v01,
938 num_macs_valid),
941 .data_type = QMI_UNSIGNED_1_BYTE,
942 .elem_len = 1,
943 .elem_size = sizeof(u8),
944 .array_type = NO_ARRAY,
945 .tlv_type = 0x15,
946 .offset = offsetof(struct wlfw_cap_resp_msg_v01,
947 num_macs),
952 struct qmi_elem_info wlfw_bdf_download_req_msg_v01_ei[] = {
954 .data_type = QMI_UNSIGNED_1_BYTE,
955 .elem_len = 1,
956 .elem_size = sizeof(u8),
957 .array_type = NO_ARRAY,
958 .tlv_type = 0x01,
959 .offset = offsetof(struct wlfw_bdf_download_req_msg_v01,
960 valid),
963 .data_type = QMI_OPT_FLAG,
964 .elem_len = 1,
965 .elem_size = sizeof(u8),
966 .array_type = NO_ARRAY,
967 .tlv_type = 0x10,
968 .offset = offsetof(struct wlfw_bdf_download_req_msg_v01,
969 file_id_valid),
972 .data_type = QMI_SIGNED_4_BYTE_ENUM,
973 .elem_len = 1,
974 .elem_size = sizeof(enum wlfw_cal_temp_id_enum_v01),
975 .array_type = NO_ARRAY,
976 .tlv_type = 0x10,
977 .offset = offsetof(struct wlfw_bdf_download_req_msg_v01,
978 file_id),
981 .data_type = QMI_OPT_FLAG,
982 .elem_len = 1,
983 .elem_size = sizeof(u8),
984 .array_type = NO_ARRAY,
985 .tlv_type = 0x11,
986 .offset = offsetof(struct wlfw_bdf_download_req_msg_v01,
987 total_size_valid),
990 .data_type = QMI_UNSIGNED_4_BYTE,
991 .elem_len = 1,
992 .elem_size = sizeof(u32),
993 .array_type = NO_ARRAY,
994 .tlv_type = 0x11,
995 .offset = offsetof(struct wlfw_bdf_download_req_msg_v01,
996 total_size),
999 .data_type = QMI_OPT_FLAG,
1000 .elem_len = 1,
1001 .elem_size = sizeof(u8),
1002 .array_type = NO_ARRAY,
1003 .tlv_type = 0x12,
1004 .offset = offsetof(struct wlfw_bdf_download_req_msg_v01,
1005 seg_id_valid),
1008 .data_type = QMI_UNSIGNED_4_BYTE,
1009 .elem_len = 1,
1010 .elem_size = sizeof(u32),
1011 .array_type = NO_ARRAY,
1012 .tlv_type = 0x12,
1013 .offset = offsetof(struct wlfw_bdf_download_req_msg_v01,
1014 seg_id),
1017 .data_type = QMI_OPT_FLAG,
1018 .elem_len = 1,
1019 .elem_size = sizeof(u8),
1020 .array_type = NO_ARRAY,
1021 .tlv_type = 0x13,
1022 .offset = offsetof(struct wlfw_bdf_download_req_msg_v01,
1023 data_valid),
1026 .data_type = QMI_DATA_LEN,
1027 .elem_len = 1,
1028 .elem_size = sizeof(u16),
1029 .array_type = NO_ARRAY,
1030 .tlv_type = 0x13,
1031 .offset = offsetof(struct wlfw_bdf_download_req_msg_v01,
1032 data_len),
1035 .data_type = QMI_UNSIGNED_1_BYTE,
1036 .elem_len = QMI_WLFW_MAX_DATA_SIZE_V01,
1037 .elem_size = sizeof(u8),
1038 .array_type = VAR_LEN_ARRAY,
1039 .tlv_type = 0x13,
1040 .offset = offsetof(struct wlfw_bdf_download_req_msg_v01,
1041 data),
1044 .data_type = QMI_OPT_FLAG,
1045 .elem_len = 1,
1046 .elem_size = sizeof(u8),
1047 .array_type = NO_ARRAY,
1048 .tlv_type = 0x14,
1049 .offset = offsetof(struct wlfw_bdf_download_req_msg_v01,
1050 end_valid),
1053 .data_type = QMI_UNSIGNED_1_BYTE,
1054 .elem_len = 1,
1055 .elem_size = sizeof(u8),
1056 .array_type = NO_ARRAY,
1057 .tlv_type = 0x14,
1058 .offset = offsetof(struct wlfw_bdf_download_req_msg_v01,
1059 end),
1062 .data_type = QMI_OPT_FLAG,
1063 .elem_len = 1,
1064 .elem_size = sizeof(u8),
1065 .array_type = NO_ARRAY,
1066 .tlv_type = 0x15,
1067 .offset = offsetof(struct wlfw_bdf_download_req_msg_v01,
1068 bdf_type_valid),
1071 .data_type = QMI_UNSIGNED_1_BYTE,
1072 .elem_len = 1,
1073 .elem_size = sizeof(u8),
1074 .array_type = NO_ARRAY,
1075 .tlv_type = 0x15,
1076 .offset = offsetof(struct wlfw_bdf_download_req_msg_v01,
1077 bdf_type),
1082 struct qmi_elem_info wlfw_bdf_download_resp_msg_v01_ei[] = {
1084 .data_type = QMI_STRUCT,
1085 .elem_len = 1,
1086 .elem_size = sizeof(struct qmi_response_type_v01),
1087 .array_type = NO_ARRAY,
1088 .tlv_type = 0x02,
1089 .offset = offsetof(struct wlfw_bdf_download_resp_msg_v01,
1090 resp),
1091 .ei_array = qmi_response_type_v01_ei,
1096 struct qmi_elem_info wlfw_cal_report_req_msg_v01_ei[] = {
1098 .data_type = QMI_DATA_LEN,
1099 .elem_len = 1,
1100 .elem_size = sizeof(u8),
1101 .array_type = NO_ARRAY,
1102 .tlv_type = 0x01,
1103 .offset = offsetof(struct wlfw_cal_report_req_msg_v01,
1104 meta_data_len),
1107 .data_type = QMI_SIGNED_4_BYTE_ENUM,
1108 .elem_len = QMI_WLFW_MAX_NUM_CAL_V01,
1109 .elem_size = sizeof(enum wlfw_cal_temp_id_enum_v01),
1110 .array_type = VAR_LEN_ARRAY,
1111 .tlv_type = 0x01,
1112 .offset = offsetof(struct wlfw_cal_report_req_msg_v01,
1113 meta_data),
1116 .data_type = QMI_OPT_FLAG,
1117 .elem_len = 1,
1118 .elem_size = sizeof(u8),
1119 .array_type = NO_ARRAY,
1120 .tlv_type = 0x10,
1121 .offset = offsetof(struct wlfw_cal_report_req_msg_v01,
1122 xo_cal_data_valid),
1125 .data_type = QMI_UNSIGNED_1_BYTE,
1126 .elem_len = 1,
1127 .elem_size = sizeof(u8),
1128 .array_type = NO_ARRAY,
1129 .tlv_type = 0x10,
1130 .offset = offsetof(struct wlfw_cal_report_req_msg_v01,
1131 xo_cal_data),
1136 struct qmi_elem_info wlfw_cal_report_resp_msg_v01_ei[] = {
1138 .data_type = QMI_STRUCT,
1139 .elem_len = 1,
1140 .elem_size = sizeof(struct qmi_response_type_v01),
1141 .array_type = NO_ARRAY,
1142 .tlv_type = 0x02,
1143 .offset = offsetof(struct wlfw_cal_report_resp_msg_v01,
1144 resp),
1145 .ei_array = qmi_response_type_v01_ei,
1150 struct qmi_elem_info wlfw_initiate_cal_download_ind_msg_v01_ei[] = {
1152 .data_type = QMI_SIGNED_4_BYTE_ENUM,
1153 .elem_len = 1,
1154 .elem_size = sizeof(enum wlfw_cal_temp_id_enum_v01),
1155 .array_type = NO_ARRAY,
1156 .tlv_type = 0x01,
1157 .offset = offsetof(struct wlfw_initiate_cal_download_ind_msg_v01,
1158 cal_id),
1163 struct qmi_elem_info wlfw_cal_download_req_msg_v01_ei[] = {
1165 .data_type = QMI_UNSIGNED_1_BYTE,
1166 .elem_len = 1,
1167 .elem_size = sizeof(u8),
1168 .array_type = NO_ARRAY,
1169 .tlv_type = 0x01,
1170 .offset = offsetof(struct wlfw_cal_download_req_msg_v01,
1171 valid),
1174 .data_type = QMI_OPT_FLAG,
1175 .elem_len = 1,
1176 .elem_size = sizeof(u8),
1177 .array_type = NO_ARRAY,
1178 .tlv_type = 0x10,
1179 .offset = offsetof(struct wlfw_cal_download_req_msg_v01,
1180 file_id_valid),
1183 .data_type = QMI_SIGNED_4_BYTE_ENUM,
1184 .elem_len = 1,
1185 .elem_size = sizeof(enum wlfw_cal_temp_id_enum_v01),
1186 .array_type = NO_ARRAY,
1187 .tlv_type = 0x10,
1188 .offset = offsetof(struct wlfw_cal_download_req_msg_v01,
1189 file_id),
1192 .data_type = QMI_OPT_FLAG,
1193 .elem_len = 1,
1194 .elem_size = sizeof(u8),
1195 .array_type = NO_ARRAY,
1196 .tlv_type = 0x11,
1197 .offset = offsetof(struct wlfw_cal_download_req_msg_v01,
1198 total_size_valid),
1201 .data_type = QMI_UNSIGNED_4_BYTE,
1202 .elem_len = 1,
1203 .elem_size = sizeof(u32),
1204 .array_type = NO_ARRAY,
1205 .tlv_type = 0x11,
1206 .offset = offsetof(struct wlfw_cal_download_req_msg_v01,
1207 total_size),
1210 .data_type = QMI_OPT_FLAG,
1211 .elem_len = 1,
1212 .elem_size = sizeof(u8),
1213 .array_type = NO_ARRAY,
1214 .tlv_type = 0x12,
1215 .offset = offsetof(struct wlfw_cal_download_req_msg_v01,
1216 seg_id_valid),
1219 .data_type = QMI_UNSIGNED_4_BYTE,
1220 .elem_len = 1,
1221 .elem_size = sizeof(u32),
1222 .array_type = NO_ARRAY,
1223 .tlv_type = 0x12,
1224 .offset = offsetof(struct wlfw_cal_download_req_msg_v01,
1225 seg_id),
1228 .data_type = QMI_OPT_FLAG,
1229 .elem_len = 1,
1230 .elem_size = sizeof(u8),
1231 .array_type = NO_ARRAY,
1232 .tlv_type = 0x13,
1233 .offset = offsetof(struct wlfw_cal_download_req_msg_v01,
1234 data_valid),
1237 .data_type = QMI_DATA_LEN,
1238 .elem_len = 1,
1239 .elem_size = sizeof(u16),
1240 .array_type = NO_ARRAY,
1241 .tlv_type = 0x13,
1242 .offset = offsetof(struct wlfw_cal_download_req_msg_v01,
1243 data_len),
1246 .data_type = QMI_UNSIGNED_1_BYTE,
1247 .elem_len = QMI_WLFW_MAX_DATA_SIZE_V01,
1248 .elem_size = sizeof(u8),
1249 .array_type = VAR_LEN_ARRAY,
1250 .tlv_type = 0x13,
1251 .offset = offsetof(struct wlfw_cal_download_req_msg_v01,
1252 data),
1255 .data_type = QMI_OPT_FLAG,
1256 .elem_len = 1,
1257 .elem_size = sizeof(u8),
1258 .array_type = NO_ARRAY,
1259 .tlv_type = 0x14,
1260 .offset = offsetof(struct wlfw_cal_download_req_msg_v01,
1261 end_valid),
1264 .data_type = QMI_UNSIGNED_1_BYTE,
1265 .elem_len = 1,
1266 .elem_size = sizeof(u8),
1267 .array_type = NO_ARRAY,
1268 .tlv_type = 0x14,
1269 .offset = offsetof(struct wlfw_cal_download_req_msg_v01,
1270 end),
1275 struct qmi_elem_info wlfw_cal_download_resp_msg_v01_ei[] = {
1277 .data_type = QMI_STRUCT,
1278 .elem_len = 1,
1279 .elem_size = sizeof(struct qmi_response_type_v01),
1280 .array_type = NO_ARRAY,
1281 .tlv_type = 0x02,
1282 .offset = offsetof(struct wlfw_cal_download_resp_msg_v01,
1283 resp),
1284 .ei_array = qmi_response_type_v01_ei,
1289 struct qmi_elem_info wlfw_initiate_cal_update_ind_msg_v01_ei[] = {
1291 .data_type = QMI_SIGNED_4_BYTE_ENUM,
1292 .elem_len = 1,
1293 .elem_size = sizeof(enum wlfw_cal_temp_id_enum_v01),
1294 .array_type = NO_ARRAY,
1295 .tlv_type = 0x01,
1296 .offset = offsetof(struct wlfw_initiate_cal_update_ind_msg_v01,
1297 cal_id),
1300 .data_type = QMI_UNSIGNED_4_BYTE,
1301 .elem_len = 1,
1302 .elem_size = sizeof(u32),
1303 .array_type = NO_ARRAY,
1304 .tlv_type = 0x02,
1305 .offset = offsetof(struct wlfw_initiate_cal_update_ind_msg_v01,
1306 total_size),
1311 struct qmi_elem_info wlfw_cal_update_req_msg_v01_ei[] = {
1313 .data_type = QMI_SIGNED_4_BYTE_ENUM,
1314 .elem_len = 1,
1315 .elem_size = sizeof(enum wlfw_cal_temp_id_enum_v01),
1316 .array_type = NO_ARRAY,
1317 .tlv_type = 0x01,
1318 .offset = offsetof(struct wlfw_cal_update_req_msg_v01,
1319 cal_id),
1322 .data_type = QMI_UNSIGNED_4_BYTE,
1323 .elem_len = 1,
1324 .elem_size = sizeof(u32),
1325 .array_type = NO_ARRAY,
1326 .tlv_type = 0x02,
1327 .offset = offsetof(struct wlfw_cal_update_req_msg_v01,
1328 seg_id),
1333 struct qmi_elem_info wlfw_cal_update_resp_msg_v01_ei[] = {
1335 .data_type = QMI_STRUCT,
1336 .elem_len = 1,
1337 .elem_size = sizeof(struct qmi_response_type_v01),
1338 .array_type = NO_ARRAY,
1339 .tlv_type = 0x02,
1340 .offset = offsetof(struct wlfw_cal_update_resp_msg_v01,
1341 resp),
1342 .ei_array = qmi_response_type_v01_ei,
1345 .data_type = QMI_OPT_FLAG,
1346 .elem_len = 1,
1347 .elem_size = sizeof(u8),
1348 .array_type = NO_ARRAY,
1349 .tlv_type = 0x10,
1350 .offset = offsetof(struct wlfw_cal_update_resp_msg_v01,
1351 file_id_valid),
1354 .data_type = QMI_SIGNED_4_BYTE_ENUM,
1355 .elem_len = 1,
1356 .elem_size = sizeof(enum wlfw_cal_temp_id_enum_v01),
1357 .array_type = NO_ARRAY,
1358 .tlv_type = 0x10,
1359 .offset = offsetof(struct wlfw_cal_update_resp_msg_v01,
1360 file_id),
1363 .data_type = QMI_OPT_FLAG,
1364 .elem_len = 1,
1365 .elem_size = sizeof(u8),
1366 .array_type = NO_ARRAY,
1367 .tlv_type = 0x11,
1368 .offset = offsetof(struct wlfw_cal_update_resp_msg_v01,
1369 total_size_valid),
1372 .data_type = QMI_UNSIGNED_4_BYTE,
1373 .elem_len = 1,
1374 .elem_size = sizeof(u32),
1375 .array_type = NO_ARRAY,
1376 .tlv_type = 0x11,
1377 .offset = offsetof(struct wlfw_cal_update_resp_msg_v01,
1378 total_size),
1381 .data_type = QMI_OPT_FLAG,
1382 .elem_len = 1,
1383 .elem_size = sizeof(u8),
1384 .array_type = NO_ARRAY,
1385 .tlv_type = 0x12,
1386 .offset = offsetof(struct wlfw_cal_update_resp_msg_v01,
1387 seg_id_valid),
1390 .data_type = QMI_UNSIGNED_4_BYTE,
1391 .elem_len = 1,
1392 .elem_size = sizeof(u32),
1393 .array_type = NO_ARRAY,
1394 .tlv_type = 0x12,
1395 .offset = offsetof(struct wlfw_cal_update_resp_msg_v01,
1396 seg_id),
1399 .data_type = QMI_OPT_FLAG,
1400 .elem_len = 1,
1401 .elem_size = sizeof(u8),
1402 .array_type = NO_ARRAY,
1403 .tlv_type = 0x13,
1404 .offset = offsetof(struct wlfw_cal_update_resp_msg_v01,
1405 data_valid),
1408 .data_type = QMI_DATA_LEN,
1409 .elem_len = 1,
1410 .elem_size = sizeof(u16),
1411 .array_type = NO_ARRAY,
1412 .tlv_type = 0x13,
1413 .offset = offsetof(struct wlfw_cal_update_resp_msg_v01,
1414 data_len),
1417 .data_type = QMI_UNSIGNED_1_BYTE,
1418 .elem_len = QMI_WLFW_MAX_DATA_SIZE_V01,
1419 .elem_size = sizeof(u8),
1420 .array_type = VAR_LEN_ARRAY,
1421 .tlv_type = 0x13,
1422 .offset = offsetof(struct wlfw_cal_update_resp_msg_v01,
1423 data),
1426 .data_type = QMI_OPT_FLAG,
1427 .elem_len = 1,
1428 .elem_size = sizeof(u8),
1429 .array_type = NO_ARRAY,
1430 .tlv_type = 0x14,
1431 .offset = offsetof(struct wlfw_cal_update_resp_msg_v01,
1432 end_valid),
1435 .data_type = QMI_UNSIGNED_1_BYTE,
1436 .elem_len = 1,
1437 .elem_size = sizeof(u8),
1438 .array_type = NO_ARRAY,
1439 .tlv_type = 0x14,
1440 .offset = offsetof(struct wlfw_cal_update_resp_msg_v01,
1441 end),
1446 struct qmi_elem_info wlfw_msa_info_req_msg_v01_ei[] = {
1448 .data_type = QMI_UNSIGNED_8_BYTE,
1449 .elem_len = 1,
1450 .elem_size = sizeof(u64),
1451 .array_type = NO_ARRAY,
1452 .tlv_type = 0x01,
1453 .offset = offsetof(struct wlfw_msa_info_req_msg_v01,
1454 msa_addr),
1457 .data_type = QMI_UNSIGNED_4_BYTE,
1458 .elem_len = 1,
1459 .elem_size = sizeof(u32),
1460 .array_type = NO_ARRAY,
1461 .tlv_type = 0x02,
1462 .offset = offsetof(struct wlfw_msa_info_req_msg_v01,
1463 size),
1468 struct qmi_elem_info wlfw_msa_info_resp_msg_v01_ei[] = {
1470 .data_type = QMI_STRUCT,
1471 .elem_len = 1,
1472 .elem_size = sizeof(struct qmi_response_type_v01),
1473 .array_type = NO_ARRAY,
1474 .tlv_type = 0x02,
1475 .offset = offsetof(struct wlfw_msa_info_resp_msg_v01,
1476 resp),
1477 .ei_array = qmi_response_type_v01_ei,
1480 .data_type = QMI_DATA_LEN,
1481 .elem_len = 1,
1482 .elem_size = sizeof(u8),
1483 .array_type = NO_ARRAY,
1484 .tlv_type = 0x03,
1485 .offset = offsetof(struct wlfw_msa_info_resp_msg_v01,
1486 mem_region_info_len),
1489 .data_type = QMI_STRUCT,
1490 .elem_len = QMI_WLFW_MAX_MEM_REG_V01,
1491 .elem_size = sizeof(struct wlfw_memory_region_info_s_v01),
1492 .array_type = VAR_LEN_ARRAY,
1493 .tlv_type = 0x03,
1494 .offset = offsetof(struct wlfw_msa_info_resp_msg_v01,
1495 mem_region_info),
1496 .ei_array = wlfw_memory_region_info_s_v01_ei,
1501 struct qmi_elem_info wlfw_msa_ready_req_msg_v01_ei[] = {
1505 struct qmi_elem_info wlfw_msa_ready_resp_msg_v01_ei[] = {
1507 .data_type = QMI_STRUCT,
1508 .elem_len = 1,
1509 .elem_size = sizeof(struct qmi_response_type_v01),
1510 .array_type = NO_ARRAY,
1511 .tlv_type = 0x02,
1512 .offset = offsetof(struct wlfw_msa_ready_resp_msg_v01,
1513 resp),
1514 .ei_array = qmi_response_type_v01_ei,
1519 struct qmi_elem_info wlfw_ini_req_msg_v01_ei[] = {
1521 .data_type = QMI_OPT_FLAG,
1522 .elem_len = 1,
1523 .elem_size = sizeof(u8),
1524 .array_type = NO_ARRAY,
1525 .tlv_type = 0x10,
1526 .offset = offsetof(struct wlfw_ini_req_msg_v01,
1527 enablefwlog_valid),
1530 .data_type = QMI_UNSIGNED_1_BYTE,
1531 .elem_len = 1,
1532 .elem_size = sizeof(u8),
1533 .array_type = NO_ARRAY,
1534 .tlv_type = 0x10,
1535 .offset = offsetof(struct wlfw_ini_req_msg_v01,
1536 enablefwlog),
1541 struct qmi_elem_info wlfw_ini_resp_msg_v01_ei[] = {
1543 .data_type = QMI_STRUCT,
1544 .elem_len = 1,
1545 .elem_size = sizeof(struct qmi_response_type_v01),
1546 .array_type = NO_ARRAY,
1547 .tlv_type = 0x02,
1548 .offset = offsetof(struct wlfw_ini_resp_msg_v01,
1549 resp),
1550 .ei_array = qmi_response_type_v01_ei,
1555 struct qmi_elem_info wlfw_athdiag_read_req_msg_v01_ei[] = {
1557 .data_type = QMI_UNSIGNED_4_BYTE,
1558 .elem_len = 1,
1559 .elem_size = sizeof(u32),
1560 .array_type = NO_ARRAY,
1561 .tlv_type = 0x01,
1562 .offset = offsetof(struct wlfw_athdiag_read_req_msg_v01,
1563 offset),
1566 .data_type = QMI_UNSIGNED_4_BYTE,
1567 .elem_len = 1,
1568 .elem_size = sizeof(u32),
1569 .array_type = NO_ARRAY,
1570 .tlv_type = 0x02,
1571 .offset = offsetof(struct wlfw_athdiag_read_req_msg_v01,
1572 mem_type),
1575 .data_type = QMI_UNSIGNED_4_BYTE,
1576 .elem_len = 1,
1577 .elem_size = sizeof(u32),
1578 .array_type = NO_ARRAY,
1579 .tlv_type = 0x03,
1580 .offset = offsetof(struct wlfw_athdiag_read_req_msg_v01,
1581 data_len),
1586 struct qmi_elem_info wlfw_athdiag_read_resp_msg_v01_ei[] = {
1588 .data_type = QMI_STRUCT,
1589 .elem_len = 1,
1590 .elem_size = sizeof(struct qmi_response_type_v01),
1591 .array_type = NO_ARRAY,
1592 .tlv_type = 0x02,
1593 .offset = offsetof(struct wlfw_athdiag_read_resp_msg_v01,
1594 resp),
1595 .ei_array = qmi_response_type_v01_ei,
1598 .data_type = QMI_OPT_FLAG,
1599 .elem_len = 1,
1600 .elem_size = sizeof(u8),
1601 .array_type = NO_ARRAY,
1602 .tlv_type = 0x10,
1603 .offset = offsetof(struct wlfw_athdiag_read_resp_msg_v01,
1604 data_valid),
1607 .data_type = QMI_DATA_LEN,
1608 .elem_len = 1,
1609 .elem_size = sizeof(u16),
1610 .array_type = NO_ARRAY,
1611 .tlv_type = 0x10,
1612 .offset = offsetof(struct wlfw_athdiag_read_resp_msg_v01,
1613 data_len),
1616 .data_type = QMI_UNSIGNED_1_BYTE,
1617 .elem_len = QMI_WLFW_MAX_ATHDIAG_DATA_SIZE_V01,
1618 .elem_size = sizeof(u8),
1619 .array_type = VAR_LEN_ARRAY,
1620 .tlv_type = 0x10,
1621 .offset = offsetof(struct wlfw_athdiag_read_resp_msg_v01,
1622 data),
1627 struct qmi_elem_info wlfw_athdiag_write_req_msg_v01_ei[] = {
1629 .data_type = QMI_UNSIGNED_4_BYTE,
1630 .elem_len = 1,
1631 .elem_size = sizeof(u32),
1632 .array_type = NO_ARRAY,
1633 .tlv_type = 0x01,
1634 .offset = offsetof(struct wlfw_athdiag_write_req_msg_v01,
1635 offset),
1638 .data_type = QMI_UNSIGNED_4_BYTE,
1639 .elem_len = 1,
1640 .elem_size = sizeof(u32),
1641 .array_type = NO_ARRAY,
1642 .tlv_type = 0x02,
1643 .offset = offsetof(struct wlfw_athdiag_write_req_msg_v01,
1644 mem_type),
1647 .data_type = QMI_DATA_LEN,
1648 .elem_len = 1,
1649 .elem_size = sizeof(u16),
1650 .array_type = NO_ARRAY,
1651 .tlv_type = 0x03,
1652 .offset = offsetof(struct wlfw_athdiag_write_req_msg_v01,
1653 data_len),
1656 .data_type = QMI_UNSIGNED_1_BYTE,
1657 .elem_len = QMI_WLFW_MAX_ATHDIAG_DATA_SIZE_V01,
1658 .elem_size = sizeof(u8),
1659 .array_type = VAR_LEN_ARRAY,
1660 .tlv_type = 0x03,
1661 .offset = offsetof(struct wlfw_athdiag_write_req_msg_v01,
1662 data),
1667 struct qmi_elem_info wlfw_athdiag_write_resp_msg_v01_ei[] = {
1669 .data_type = QMI_STRUCT,
1670 .elem_len = 1,
1671 .elem_size = sizeof(struct qmi_response_type_v01),
1672 .array_type = NO_ARRAY,
1673 .tlv_type = 0x02,
1674 .offset = offsetof(struct wlfw_athdiag_write_resp_msg_v01,
1675 resp),
1676 .ei_array = qmi_response_type_v01_ei,
1681 struct qmi_elem_info wlfw_vbatt_req_msg_v01_ei[] = {
1683 .data_type = QMI_UNSIGNED_8_BYTE,
1684 .elem_len = 1,
1685 .elem_size = sizeof(u64),
1686 .array_type = NO_ARRAY,
1687 .tlv_type = 0x01,
1688 .offset = offsetof(struct wlfw_vbatt_req_msg_v01,
1689 voltage_uv),
1694 struct qmi_elem_info wlfw_vbatt_resp_msg_v01_ei[] = {
1696 .data_type = QMI_STRUCT,
1697 .elem_len = 1,
1698 .elem_size = sizeof(struct qmi_response_type_v01),
1699 .array_type = NO_ARRAY,
1700 .tlv_type = 0x02,
1701 .offset = offsetof(struct wlfw_vbatt_resp_msg_v01,
1702 resp),
1703 .ei_array = qmi_response_type_v01_ei,
1708 struct qmi_elem_info wlfw_mac_addr_req_msg_v01_ei[] = {
1710 .data_type = QMI_OPT_FLAG,
1711 .elem_len = 1,
1712 .elem_size = sizeof(u8),
1713 .array_type = NO_ARRAY,
1714 .tlv_type = 0x10,
1715 .offset = offsetof(struct wlfw_mac_addr_req_msg_v01,
1716 mac_addr_valid),
1719 .data_type = QMI_UNSIGNED_1_BYTE,
1720 .elem_len = QMI_WLFW_MAC_ADDR_SIZE_V01,
1721 .elem_size = sizeof(u8),
1722 .array_type = STATIC_ARRAY,
1723 .tlv_type = 0x10,
1724 .offset = offsetof(struct wlfw_mac_addr_req_msg_v01,
1725 mac_addr),
1730 struct qmi_elem_info wlfw_mac_addr_resp_msg_v01_ei[] = {
1732 .data_type = QMI_STRUCT,
1733 .elem_len = 1,
1734 .elem_size = sizeof(struct qmi_response_type_v01),
1735 .array_type = NO_ARRAY,
1736 .tlv_type = 0x02,
1737 .offset = offsetof(struct wlfw_mac_addr_resp_msg_v01,
1738 resp),
1739 .ei_array = qmi_response_type_v01_ei,
1744 struct qmi_elem_info wlfw_host_cap_req_msg_v01_ei[] = {
1746 .data_type = QMI_OPT_FLAG,
1747 .elem_len = 1,
1748 .elem_size = sizeof(u8),
1749 .array_type = NO_ARRAY,
1750 .tlv_type = 0x10,
1751 .offset = offsetof(struct wlfw_host_cap_req_msg_v01,
1752 daemon_support_valid),
1755 .data_type = QMI_UNSIGNED_4_BYTE,
1756 .elem_len = 1,
1757 .elem_size = sizeof(u32),
1758 .array_type = NO_ARRAY,
1759 .tlv_type = 0x10,
1760 .offset = offsetof(struct wlfw_host_cap_req_msg_v01,
1761 daemon_support),
1764 .data_type = QMI_OPT_FLAG,
1765 .elem_len = 1,
1766 .elem_size = sizeof(u8),
1767 .array_type = NO_ARRAY,
1768 .tlv_type = 0x11,
1769 .offset = offsetof(struct wlfw_host_cap_req_msg_v01,
1770 wake_msi_valid),
1773 .data_type = QMI_UNSIGNED_4_BYTE,
1774 .elem_len = 1,
1775 .elem_size = sizeof(u32),
1776 .array_type = NO_ARRAY,
1777 .tlv_type = 0x11,
1778 .offset = offsetof(struct wlfw_host_cap_req_msg_v01,
1779 wake_msi),
1782 .data_type = QMI_OPT_FLAG,
1783 .elem_len = 1,
1784 .elem_size = sizeof(u8),
1785 .array_type = NO_ARRAY,
1786 .tlv_type = 0x12,
1787 .offset = offsetof(struct wlfw_host_cap_req_msg_v01,
1788 gpios_valid),
1791 .data_type = QMI_DATA_LEN,
1792 .elem_len = 1,
1793 .elem_size = sizeof(u32),
1794 .array_type = NO_ARRAY,
1795 .tlv_type = 0x12,
1796 .offset = offsetof(struct wlfw_host_cap_req_msg_v01,
1797 gpios_len),
1800 .data_type = QMI_UNSIGNED_4_BYTE,
1801 .elem_len = QMI_WLFW_MAX_NUM_GPIO_V01,
1802 .elem_size = sizeof(u32),
1803 .array_type = VAR_LEN_ARRAY,
1804 .tlv_type = 0x12,
1805 .offset = offsetof(struct wlfw_host_cap_req_msg_v01,
1806 gpios),
1809 .data_type = QMI_OPT_FLAG,
1810 .elem_len = 1,
1811 .elem_size = sizeof(u8),
1812 .array_type = NO_ARRAY,
1813 .tlv_type = 0x13,
1814 .offset = offsetof(struct wlfw_host_cap_req_msg_v01,
1815 nm_modem_valid),
1818 .data_type = QMI_UNSIGNED_1_BYTE,
1819 .elem_len = 1,
1820 .elem_size = sizeof(u8),
1821 .array_type = NO_ARRAY,
1822 .tlv_type = 0x13,
1823 .offset = offsetof(struct wlfw_host_cap_req_msg_v01,
1824 nm_modem),
1827 .data_type = QMI_OPT_FLAG,
1828 .elem_len = 1,
1829 .elem_size = sizeof(u8),
1830 .array_type = NO_ARRAY,
1831 .tlv_type = 0x14,
1832 .offset = offsetof(struct wlfw_host_cap_req_msg_v01,
1833 bdf_support_valid),
1836 .data_type = QMI_UNSIGNED_1_BYTE,
1837 .elem_len = 1,
1838 .elem_size = sizeof(u8),
1839 .array_type = NO_ARRAY,
1840 .tlv_type = 0x14,
1841 .offset = offsetof(struct wlfw_host_cap_req_msg_v01,
1842 bdf_support),
1845 .data_type = QMI_OPT_FLAG,
1846 .elem_len = 1,
1847 .elem_size = sizeof(u8),
1848 .array_type = NO_ARRAY,
1849 .tlv_type = 0x15,
1850 .offset = offsetof(struct wlfw_host_cap_req_msg_v01,
1851 bdf_cache_support_valid),
1854 .data_type = QMI_UNSIGNED_1_BYTE,
1855 .elem_len = 1,
1856 .elem_size = sizeof(u8),
1857 .array_type = NO_ARRAY,
1858 .tlv_type = 0x15,
1859 .offset = offsetof(struct wlfw_host_cap_req_msg_v01,
1860 bdf_cache_support),
1863 .data_type = QMI_OPT_FLAG,
1864 .elem_len = 1,
1865 .elem_size = sizeof(u8),
1866 .array_type = NO_ARRAY,
1867 .tlv_type = 0x16,
1868 .offset = offsetof(struct wlfw_host_cap_req_msg_v01,
1869 m3_support_valid),
1872 .data_type = QMI_UNSIGNED_1_BYTE,
1873 .elem_len = 1,
1874 .elem_size = sizeof(u8),
1875 .array_type = NO_ARRAY,
1876 .tlv_type = 0x16,
1877 .offset = offsetof(struct wlfw_host_cap_req_msg_v01,
1878 m3_support),
1881 .data_type = QMI_OPT_FLAG,
1882 .elem_len = 1,
1883 .elem_size = sizeof(u8),
1884 .array_type = NO_ARRAY,
1885 .tlv_type = 0x17,
1886 .offset = offsetof(struct wlfw_host_cap_req_msg_v01,
1887 m3_cache_support_valid),
1890 .data_type = QMI_UNSIGNED_1_BYTE,
1891 .elem_len = 1,
1892 .elem_size = sizeof(u8),
1893 .array_type = NO_ARRAY,
1894 .tlv_type = 0x17,
1895 .offset = offsetof(struct wlfw_host_cap_req_msg_v01,
1896 m3_cache_support),
1899 .data_type = QMI_OPT_FLAG,
1900 .elem_len = 1,
1901 .elem_size = sizeof(u8),
1902 .array_type = NO_ARRAY,
1903 .tlv_type = 0x18,
1904 .offset = offsetof(struct wlfw_host_cap_req_msg_v01,
1905 cal_filesys_support_valid),
1908 .data_type = QMI_UNSIGNED_1_BYTE,
1909 .elem_len = 1,
1910 .elem_size = sizeof(u8),
1911 .array_type = NO_ARRAY,
1912 .tlv_type = 0x18,
1913 .offset = offsetof(struct wlfw_host_cap_req_msg_v01,
1914 cal_filesys_support),
1917 .data_type = QMI_OPT_FLAG,
1918 .elem_len = 1,
1919 .elem_size = sizeof(u8),
1920 .array_type = NO_ARRAY,
1921 .tlv_type = 0x19,
1922 .offset = offsetof(struct wlfw_host_cap_req_msg_v01,
1923 cal_cache_support_valid),
1926 .data_type = QMI_UNSIGNED_1_BYTE,
1927 .elem_len = 1,
1928 .elem_size = sizeof(u8),
1929 .array_type = NO_ARRAY,
1930 .tlv_type = 0x19,
1931 .offset = offsetof(struct wlfw_host_cap_req_msg_v01,
1932 cal_cache_support),
1935 .data_type = QMI_OPT_FLAG,
1936 .elem_len = 1,
1937 .elem_size = sizeof(u8),
1938 .array_type = NO_ARRAY,
1939 .tlv_type = 0x1A,
1940 .offset = offsetof(struct wlfw_host_cap_req_msg_v01,
1941 cal_done_valid),
1944 .data_type = QMI_UNSIGNED_1_BYTE,
1945 .elem_len = 1,
1946 .elem_size = sizeof(u8),
1947 .array_type = NO_ARRAY,
1948 .tlv_type = 0x1A,
1949 .offset = offsetof(struct wlfw_host_cap_req_msg_v01,
1950 cal_done),
1953 .data_type = QMI_OPT_FLAG,
1954 .elem_len = 1,
1955 .elem_size = sizeof(u8),
1956 .array_type = NO_ARRAY,
1957 .tlv_type = 0x1B,
1958 .offset = offsetof(struct wlfw_host_cap_req_msg_v01,
1959 mem_bucket_valid),
1962 .data_type = QMI_UNSIGNED_4_BYTE,
1963 .elem_len = 1,
1964 .elem_size = sizeof(u32),
1965 .array_type = NO_ARRAY,
1966 .tlv_type = 0x1B,
1967 .offset = offsetof(struct wlfw_host_cap_req_msg_v01,
1968 mem_bucket),
1971 .data_type = QMI_OPT_FLAG,
1972 .elem_len = 1,
1973 .elem_size = sizeof(u8),
1974 .array_type = NO_ARRAY,
1975 .tlv_type = 0x1C,
1976 .offset = offsetof(struct wlfw_host_cap_req_msg_v01,
1977 mem_cfg_mode_valid),
1980 .data_type = QMI_UNSIGNED_1_BYTE,
1981 .elem_len = 1,
1982 .elem_size = sizeof(u8),
1983 .array_type = NO_ARRAY,
1984 .tlv_type = 0x1C,
1985 .offset = offsetof(struct wlfw_host_cap_req_msg_v01,
1986 mem_cfg_mode),
1991 struct qmi_elem_info wlfw_host_cap_8bit_req_msg_v01_ei[] = {
1993 .data_type = QMI_OPT_FLAG,
1994 .elem_len = 1,
1995 .elem_size = sizeof(u8),
1996 .array_type = NO_ARRAY,
1997 .tlv_type = 0x10,
1998 .offset = offsetof(struct wlfw_host_cap_req_msg_v01,
1999 daemon_support_valid),
2002 .data_type = QMI_UNSIGNED_1_BYTE,
2003 .elem_len = 1,
2004 .elem_size = sizeof(u8),
2005 .array_type = NO_ARRAY,
2006 .tlv_type = 0x10,
2007 .offset = offsetof(struct wlfw_host_cap_req_msg_v01,
2008 daemon_support),
2013 struct qmi_elem_info wlfw_host_cap_resp_msg_v01_ei[] = {
2015 .data_type = QMI_STRUCT,
2016 .elem_len = 1,
2017 .elem_size = sizeof(struct qmi_response_type_v01),
2018 .array_type = NO_ARRAY,
2019 .tlv_type = 0x02,
2020 .offset = offsetof(struct wlfw_host_cap_resp_msg_v01,
2021 resp),
2022 .ei_array = qmi_response_type_v01_ei,
2027 struct qmi_elem_info wlfw_request_mem_ind_msg_v01_ei[] = {
2029 .data_type = QMI_DATA_LEN,
2030 .elem_len = 1,
2031 .elem_size = sizeof(u8),
2032 .array_type = NO_ARRAY,
2033 .tlv_type = 0x01,
2034 .offset = offsetof(struct wlfw_request_mem_ind_msg_v01,
2035 mem_seg_len),
2038 .data_type = QMI_STRUCT,
2039 .elem_len = QMI_WLFW_MAX_NUM_MEM_SEG_V01,
2040 .elem_size = sizeof(struct wlfw_mem_seg_s_v01),
2041 .array_type = VAR_LEN_ARRAY,
2042 .tlv_type = 0x01,
2043 .offset = offsetof(struct wlfw_request_mem_ind_msg_v01,
2044 mem_seg),
2045 .ei_array = wlfw_mem_seg_s_v01_ei,
2050 struct qmi_elem_info wlfw_respond_mem_req_msg_v01_ei[] = {
2052 .data_type = QMI_DATA_LEN,
2053 .elem_len = 1,
2054 .elem_size = sizeof(u8),
2055 .array_type = NO_ARRAY,
2056 .tlv_type = 0x01,
2057 .offset = offsetof(struct wlfw_respond_mem_req_msg_v01,
2058 mem_seg_len),
2061 .data_type = QMI_STRUCT,
2062 .elem_len = QMI_WLFW_MAX_NUM_MEM_SEG_V01,
2063 .elem_size = sizeof(struct wlfw_mem_seg_resp_s_v01),
2064 .array_type = VAR_LEN_ARRAY,
2065 .tlv_type = 0x01,
2066 .offset = offsetof(struct wlfw_respond_mem_req_msg_v01,
2067 mem_seg),
2068 .ei_array = wlfw_mem_seg_resp_s_v01_ei,
2073 struct qmi_elem_info wlfw_respond_mem_resp_msg_v01_ei[] = {
2075 .data_type = QMI_STRUCT,
2076 .elem_len = 1,
2077 .elem_size = sizeof(struct qmi_response_type_v01),
2078 .array_type = NO_ARRAY,
2079 .tlv_type = 0x02,
2080 .offset = offsetof(struct wlfw_respond_mem_resp_msg_v01,
2081 resp),
2082 .ei_array = qmi_response_type_v01_ei,
2087 struct qmi_elem_info wlfw_mem_ready_ind_msg_v01_ei[] = {
2091 struct qmi_elem_info wlfw_fw_init_done_ind_msg_v01_ei[] = {
2095 struct qmi_elem_info wlfw_rejuvenate_ind_msg_v01_ei[] = {
2097 .data_type = QMI_OPT_FLAG,
2098 .elem_len = 1,
2099 .elem_size = sizeof(u8),
2100 .array_type = NO_ARRAY,
2101 .tlv_type = 0x10,
2102 .offset = offsetof(struct wlfw_rejuvenate_ind_msg_v01,
2103 cause_for_rejuvenation_valid),
2106 .data_type = QMI_UNSIGNED_1_BYTE,
2107 .elem_len = 1,
2108 .elem_size = sizeof(u8),
2109 .array_type = NO_ARRAY,
2110 .tlv_type = 0x10,
2111 .offset = offsetof(struct wlfw_rejuvenate_ind_msg_v01,
2112 cause_for_rejuvenation),
2115 .data_type = QMI_OPT_FLAG,
2116 .elem_len = 1,
2117 .elem_size = sizeof(u8),
2118 .array_type = NO_ARRAY,
2119 .tlv_type = 0x11,
2120 .offset = offsetof(struct wlfw_rejuvenate_ind_msg_v01,
2121 requesting_sub_system_valid),
2124 .data_type = QMI_UNSIGNED_1_BYTE,
2125 .elem_len = 1,
2126 .elem_size = sizeof(u8),
2127 .array_type = NO_ARRAY,
2128 .tlv_type = 0x11,
2129 .offset = offsetof(struct wlfw_rejuvenate_ind_msg_v01,
2130 requesting_sub_system),
2133 .data_type = QMI_OPT_FLAG,
2134 .elem_len = 1,
2135 .elem_size = sizeof(u8),
2136 .array_type = NO_ARRAY,
2137 .tlv_type = 0x12,
2138 .offset = offsetof(struct wlfw_rejuvenate_ind_msg_v01,
2139 line_number_valid),
2142 .data_type = QMI_UNSIGNED_2_BYTE,
2143 .elem_len = 1,
2144 .elem_size = sizeof(u16),
2145 .array_type = NO_ARRAY,
2146 .tlv_type = 0x12,
2147 .offset = offsetof(struct wlfw_rejuvenate_ind_msg_v01,
2148 line_number),
2151 .data_type = QMI_OPT_FLAG,
2152 .elem_len = 1,
2153 .elem_size = sizeof(u8),
2154 .array_type = NO_ARRAY,
2155 .tlv_type = 0x13,
2156 .offset = offsetof(struct wlfw_rejuvenate_ind_msg_v01,
2157 function_name_valid),
2160 .data_type = QMI_STRING,
2161 .elem_len = QMI_WLFW_FUNCTION_NAME_LEN_V01 + 1,
2162 .elem_size = sizeof(char),
2163 .array_type = NO_ARRAY,
2164 .tlv_type = 0x13,
2165 .offset = offsetof(struct wlfw_rejuvenate_ind_msg_v01,
2166 function_name),
2171 struct qmi_elem_info wlfw_rejuvenate_ack_req_msg_v01_ei[] = {
2175 struct qmi_elem_info wlfw_rejuvenate_ack_resp_msg_v01_ei[] = {
2177 .data_type = QMI_STRUCT,
2178 .elem_len = 1,
2179 .elem_size = sizeof(struct qmi_response_type_v01),
2180 .array_type = NO_ARRAY,
2181 .tlv_type = 0x02,
2182 .offset = offsetof(struct wlfw_rejuvenate_ack_resp_msg_v01,
2183 resp),
2184 .ei_array = qmi_response_type_v01_ei,
2189 struct qmi_elem_info wlfw_dynamic_feature_mask_req_msg_v01_ei[] = {
2191 .data_type = QMI_OPT_FLAG,
2192 .elem_len = 1,
2193 .elem_size = sizeof(u8),
2194 .array_type = NO_ARRAY,
2195 .tlv_type = 0x10,
2196 .offset = offsetof(struct wlfw_dynamic_feature_mask_req_msg_v01,
2197 mask_valid),
2200 .data_type = QMI_UNSIGNED_8_BYTE,
2201 .elem_len = 1,
2202 .elem_size = sizeof(u64),
2203 .array_type = NO_ARRAY,
2204 .tlv_type = 0x10,
2205 .offset = offsetof(struct wlfw_dynamic_feature_mask_req_msg_v01,
2206 mask),
2211 struct qmi_elem_info wlfw_dynamic_feature_mask_resp_msg_v01_ei[] = {
2213 .data_type = QMI_STRUCT,
2214 .elem_len = 1,
2215 .elem_size = sizeof(struct qmi_response_type_v01),
2216 .array_type = NO_ARRAY,
2217 .tlv_type = 0x02,
2218 .offset = offsetof(struct wlfw_dynamic_feature_mask_resp_msg_v01,
2219 resp),
2220 .ei_array = qmi_response_type_v01_ei,
2223 .data_type = QMI_OPT_FLAG,
2224 .elem_len = 1,
2225 .elem_size = sizeof(u8),
2226 .array_type = NO_ARRAY,
2227 .tlv_type = 0x10,
2228 .offset = offsetof(struct wlfw_dynamic_feature_mask_resp_msg_v01,
2229 prev_mask_valid),
2232 .data_type = QMI_UNSIGNED_8_BYTE,
2233 .elem_len = 1,
2234 .elem_size = sizeof(u64),
2235 .array_type = NO_ARRAY,
2236 .tlv_type = 0x10,
2237 .offset = offsetof(struct wlfw_dynamic_feature_mask_resp_msg_v01,
2238 prev_mask),
2241 .data_type = QMI_OPT_FLAG,
2242 .elem_len = 1,
2243 .elem_size = sizeof(u8),
2244 .array_type = NO_ARRAY,
2245 .tlv_type = 0x11,
2246 .offset = offsetof(struct wlfw_dynamic_feature_mask_resp_msg_v01,
2247 curr_mask_valid),
2250 .data_type = QMI_UNSIGNED_8_BYTE,
2251 .elem_len = 1,
2252 .elem_size = sizeof(u64),
2253 .array_type = NO_ARRAY,
2254 .tlv_type = 0x11,
2255 .offset = offsetof(struct wlfw_dynamic_feature_mask_resp_msg_v01,
2256 curr_mask),
2261 struct qmi_elem_info wlfw_m3_info_req_msg_v01_ei[] = {
2263 .data_type = QMI_UNSIGNED_8_BYTE,
2264 .elem_len = 1,
2265 .elem_size = sizeof(u64),
2266 .array_type = NO_ARRAY,
2267 .tlv_type = 0x01,
2268 .offset = offsetof(struct wlfw_m3_info_req_msg_v01,
2269 addr),
2272 .data_type = QMI_UNSIGNED_4_BYTE,
2273 .elem_len = 1,
2274 .elem_size = sizeof(u32),
2275 .array_type = NO_ARRAY,
2276 .tlv_type = 0x02,
2277 .offset = offsetof(struct wlfw_m3_info_req_msg_v01,
2278 size),
2283 struct qmi_elem_info wlfw_m3_info_resp_msg_v01_ei[] = {
2285 .data_type = QMI_STRUCT,
2286 .elem_len = 1,
2287 .elem_size = sizeof(struct qmi_response_type_v01),
2288 .array_type = NO_ARRAY,
2289 .tlv_type = 0x02,
2290 .offset = offsetof(struct wlfw_m3_info_resp_msg_v01,
2291 resp),
2292 .ei_array = qmi_response_type_v01_ei,
2297 struct qmi_elem_info wlfw_xo_cal_ind_msg_v01_ei[] = {
2299 .data_type = QMI_UNSIGNED_1_BYTE,
2300 .elem_len = 1,
2301 .elem_size = sizeof(u8),
2302 .array_type = NO_ARRAY,
2303 .tlv_type = 0x01,
2304 .offset = offsetof(struct wlfw_xo_cal_ind_msg_v01,
2305 xo_cal_data),