Linux Audio

Check our new training course

Loading...
Note: File does not exist in v4.6.
  1// SPDX-License-Identifier: GPL-2.0
  2
  3/* Copyright (c) 2018, The Linux Foundation. All rights reserved.
  4 * Copyright (C) 2018-2022 Linaro Ltd.
  5 */
  6#include <linux/stddef.h>
  7#include <linux/soc/qcom/qmi.h>
  8
  9#include "ipa_qmi_msg.h"
 10
 11/* QMI message structure definition for struct ipa_indication_register_req */
 12const struct qmi_elem_info ipa_indication_register_req_ei[] = {
 13	{
 14		.data_type	= QMI_OPT_FLAG,
 15		.elem_len	= 1,
 16		.elem_size	=
 17			sizeof_field(struct ipa_indication_register_req,
 18				     master_driver_init_complete_valid),
 19		.tlv_type	= 0x10,
 20		.offset		= offsetof(struct ipa_indication_register_req,
 21					   master_driver_init_complete_valid),
 22	},
 23	{
 24		.data_type	= QMI_UNSIGNED_1_BYTE,
 25		.elem_len	= 1,
 26		.elem_size	=
 27			sizeof_field(struct ipa_indication_register_req,
 28				     master_driver_init_complete),
 29		.tlv_type	= 0x10,
 30		.offset		= offsetof(struct ipa_indication_register_req,
 31					   master_driver_init_complete),
 32	},
 33	{
 34		.data_type	= QMI_OPT_FLAG,
 35		.elem_len	= 1,
 36		.elem_size	=
 37			sizeof_field(struct ipa_indication_register_req,
 38				     data_usage_quota_reached_valid),
 39		.tlv_type	= 0x11,
 40		.offset		= offsetof(struct ipa_indication_register_req,
 41					   data_usage_quota_reached_valid),
 42	},
 43	{
 44		.data_type	= QMI_UNSIGNED_1_BYTE,
 45		.elem_len	= 1,
 46		.elem_size	=
 47			sizeof_field(struct ipa_indication_register_req,
 48				     data_usage_quota_reached),
 49		.tlv_type	= 0x11,
 50		.offset		= offsetof(struct ipa_indication_register_req,
 51					   data_usage_quota_reached),
 52	},
 53	{
 54		.data_type	= QMI_OPT_FLAG,
 55		.elem_len	= 1,
 56		.elem_size	=
 57			sizeof_field(struct ipa_indication_register_req,
 58				     ipa_mhi_ready_ind_valid),
 59		.tlv_type	= 0x12,
 60		.offset		= offsetof(struct ipa_indication_register_req,
 61					   ipa_mhi_ready_ind_valid),
 62	},
 63	{
 64		.data_type	= QMI_UNSIGNED_1_BYTE,
 65		.elem_len	= 1,
 66		.elem_size	=
 67			sizeof_field(struct ipa_indication_register_req,
 68				     ipa_mhi_ready_ind),
 69		.tlv_type	= 0x12,
 70		.offset		= offsetof(struct ipa_indication_register_req,
 71					   ipa_mhi_ready_ind),
 72	},
 73	{
 74		.data_type	= QMI_OPT_FLAG,
 75		.elem_len	= 1,
 76		.elem_size	=
 77			sizeof_field(struct ipa_indication_register_req,
 78				     endpoint_desc_ind_valid),
 79		.tlv_type	= 0x13,
 80		.offset		= offsetof(struct ipa_indication_register_req,
 81					   endpoint_desc_ind_valid),
 82	},
 83	{
 84		.data_type	= QMI_UNSIGNED_1_BYTE,
 85		.elem_len	= 1,
 86		.elem_size	=
 87			sizeof_field(struct ipa_indication_register_req,
 88				     endpoint_desc_ind),
 89		.tlv_type	= 0x13,
 90		.offset		= offsetof(struct ipa_indication_register_req,
 91					   endpoint_desc_ind),
 92	},
 93	{
 94		.data_type	= QMI_OPT_FLAG,
 95		.elem_len	= 1,
 96		.elem_size	=
 97			sizeof_field(struct ipa_indication_register_req,
 98				     bw_change_ind_valid),
 99		.tlv_type	= 0x14,
100		.offset		= offsetof(struct ipa_indication_register_req,
101					   bw_change_ind_valid),
102	},
103	{
104		.data_type	= QMI_UNSIGNED_1_BYTE,
105		.elem_len	= 1,
106		.elem_size	=
107			sizeof_field(struct ipa_indication_register_req,
108				     bw_change_ind),
109		.tlv_type	= 0x14,
110		.offset		= offsetof(struct ipa_indication_register_req,
111					   bw_change_ind),
112	},
113	{
114		.data_type	= QMI_EOTI,
115	},
116};
117
118/* QMI message structure definition for struct ipa_indication_register_rsp */
119const struct qmi_elem_info ipa_indication_register_rsp_ei[] = {
120	{
121		.data_type	= QMI_STRUCT,
122		.elem_len	= 1,
123		.elem_size	=
124			sizeof_field(struct ipa_indication_register_rsp,
125				     rsp),
126		.tlv_type	= 0x02,
127		.offset		= offsetof(struct ipa_indication_register_rsp,
128					   rsp),
129		.ei_array	= qmi_response_type_v01_ei,
130	},
131	{
132		.data_type	= QMI_EOTI,
133	},
134};
135
136/* QMI message structure definition for struct ipa_driver_init_complete_req */
137const struct qmi_elem_info ipa_driver_init_complete_req_ei[] = {
138	{
139		.data_type	= QMI_UNSIGNED_1_BYTE,
140		.elem_len	= 1,
141		.elem_size	=
142			sizeof_field(struct ipa_driver_init_complete_req,
143				     status),
144		.tlv_type	= 0x01,
145		.offset		= offsetof(struct ipa_driver_init_complete_req,
146					   status),
147	},
148	{
149		.data_type	= QMI_EOTI,
150	},
151};
152
153/* QMI message structure definition for struct ipa_driver_init_complete_rsp */
154const struct qmi_elem_info ipa_driver_init_complete_rsp_ei[] = {
155	{
156		.data_type	= QMI_STRUCT,
157		.elem_len	= 1,
158		.elem_size	=
159			sizeof_field(struct ipa_driver_init_complete_rsp,
160				     rsp),
161		.tlv_type	= 0x02,
162		.offset		= offsetof(struct ipa_driver_init_complete_rsp,
163					   rsp),
164		.ei_array	= qmi_response_type_v01_ei,
165	},
166	{
167		.data_type	= QMI_EOTI,
168	},
169};
170
171/* QMI message structure definition for struct ipa_init_complete_ind */
172const struct qmi_elem_info ipa_init_complete_ind_ei[] = {
173	{
174		.data_type	= QMI_STRUCT,
175		.elem_len	= 1,
176		.elem_size	=
177			sizeof_field(struct ipa_init_complete_ind,
178				     status),
179		.tlv_type	= 0x02,
180		.offset		= offsetof(struct ipa_init_complete_ind,
181					   status),
182		.ei_array	= qmi_response_type_v01_ei,
183	},
184	{
185		.data_type	= QMI_EOTI,
186	},
187};
188
189/* QMI message structure definition for struct ipa_mem_bounds */
190const struct qmi_elem_info ipa_mem_bounds_ei[] = {
191	{
192		.data_type	= QMI_UNSIGNED_4_BYTE,
193		.elem_len	= 1,
194		.elem_size	=
195			sizeof_field(struct ipa_mem_bounds, start),
196		.offset		= offsetof(struct ipa_mem_bounds, start),
197	},
198	{
199		.data_type	= QMI_UNSIGNED_4_BYTE,
200		.elem_len	= 1,
201		.elem_size	=
202			sizeof_field(struct ipa_mem_bounds, end),
203		.offset		= offsetof(struct ipa_mem_bounds, end),
204	},
205	{
206		.data_type	= QMI_EOTI,
207	},
208};
209
210/* QMI message structure definition for struct ipa_mem_array */
211const struct qmi_elem_info ipa_mem_array_ei[] = {
212	{
213		.data_type	= QMI_UNSIGNED_4_BYTE,
214		.elem_len	= 1,
215		.elem_size	=
216			sizeof_field(struct ipa_mem_array, start),
217		.offset		= offsetof(struct ipa_mem_array, start),
218	},
219	{
220		.data_type	= QMI_UNSIGNED_4_BYTE,
221		.elem_len	= 1,
222		.elem_size	=
223			sizeof_field(struct ipa_mem_array, count),
224		.offset		= offsetof(struct ipa_mem_array, count),
225	},
226	{
227		.data_type	= QMI_EOTI,
228	},
229};
230
231/* QMI message structure definition for struct ipa_mem_range */
232const struct qmi_elem_info ipa_mem_range_ei[] = {
233	{
234		.data_type	= QMI_UNSIGNED_4_BYTE,
235		.elem_len	= 1,
236		.elem_size	=
237			sizeof_field(struct ipa_mem_range, start),
238		.offset		= offsetof(struct ipa_mem_range, start),
239	},
240	{
241		.data_type	= QMI_UNSIGNED_4_BYTE,
242		.elem_len	= 1,
243		.elem_size	=
244			sizeof_field(struct ipa_mem_range, size),
245		.offset		= offsetof(struct ipa_mem_range, size),
246	},
247	{
248		.data_type	= QMI_EOTI,
249	},
250};
251
252/* QMI message structure definition for struct ipa_init_modem_driver_req */
253const struct qmi_elem_info ipa_init_modem_driver_req_ei[] = {
254	{
255		.data_type	= QMI_OPT_FLAG,
256		.elem_len	= 1,
257		.elem_size	=
258			sizeof_field(struct ipa_init_modem_driver_req,
259				     platform_type_valid),
260		.tlv_type	= 0x10,
261		.offset		= offsetof(struct ipa_init_modem_driver_req,
262					   platform_type_valid),
263	},
264	{
265		.data_type	= QMI_SIGNED_4_BYTE_ENUM,
266		.elem_len	= 1,
267		.elem_size	=
268			sizeof_field(struct ipa_init_modem_driver_req,
269				     platform_type),
270		.tlv_type	= 0x10,
271		.offset		= offsetof(struct ipa_init_modem_driver_req,
272					   platform_type),
273	},
274	{
275		.data_type	= QMI_OPT_FLAG,
276		.elem_len	= 1,
277		.elem_size	=
278			sizeof_field(struct ipa_init_modem_driver_req,
279				     hdr_tbl_info_valid),
280		.tlv_type	= 0x11,
281		.offset		= offsetof(struct ipa_init_modem_driver_req,
282					   hdr_tbl_info_valid),
283	},
284	{
285		.data_type	= QMI_STRUCT,
286		.elem_len	= 1,
287		.elem_size	=
288			sizeof_field(struct ipa_init_modem_driver_req,
289				     hdr_tbl_info),
290		.tlv_type	= 0x11,
291		.offset		= offsetof(struct ipa_init_modem_driver_req,
292					   hdr_tbl_info),
293		.ei_array	= ipa_mem_bounds_ei,
294	},
295	{
296		.data_type	= QMI_OPT_FLAG,
297		.elem_len	= 1,
298		.elem_size	=
299			sizeof_field(struct ipa_init_modem_driver_req,
300				     v4_route_tbl_info_valid),
301		.tlv_type	= 0x12,
302		.offset		= offsetof(struct ipa_init_modem_driver_req,
303					   v4_route_tbl_info_valid),
304	},
305	{
306		.data_type	= QMI_STRUCT,
307		.elem_len	= 1,
308		.elem_size	=
309			sizeof_field(struct ipa_init_modem_driver_req,
310				     v4_route_tbl_info),
311		.tlv_type	= 0x12,
312		.offset		= offsetof(struct ipa_init_modem_driver_req,
313					   v4_route_tbl_info),
314		.ei_array	= ipa_mem_bounds_ei,
315	},
316	{
317		.data_type	= QMI_OPT_FLAG,
318		.elem_len	= 1,
319		.elem_size	=
320			sizeof_field(struct ipa_init_modem_driver_req,
321				     v6_route_tbl_info_valid),
322		.tlv_type	= 0x13,
323		.offset		= offsetof(struct ipa_init_modem_driver_req,
324					   v6_route_tbl_info_valid),
325	},
326	{
327		.data_type	= QMI_STRUCT,
328		.elem_len	= 1,
329		.elem_size	=
330			sizeof_field(struct ipa_init_modem_driver_req,
331				     v6_route_tbl_info),
332		.tlv_type	= 0x13,
333		.offset		= offsetof(struct ipa_init_modem_driver_req,
334					   v6_route_tbl_info),
335		.ei_array	= ipa_mem_bounds_ei,
336	},
337	{
338		.data_type	= QMI_OPT_FLAG,
339		.elem_len	= 1,
340		.elem_size	=
341			sizeof_field(struct ipa_init_modem_driver_req,
342				     v4_filter_tbl_start_valid),
343		.tlv_type	= 0x14,
344		.offset		= offsetof(struct ipa_init_modem_driver_req,
345					   v4_filter_tbl_start_valid),
346	},
347	{
348		.data_type	= QMI_UNSIGNED_4_BYTE,
349		.elem_len	= 1,
350		.elem_size	=
351			sizeof_field(struct ipa_init_modem_driver_req,
352				     v4_filter_tbl_start),
353		.tlv_type	= 0x14,
354		.offset		= offsetof(struct ipa_init_modem_driver_req,
355					   v4_filter_tbl_start),
356	},
357	{
358		.data_type	= QMI_OPT_FLAG,
359		.elem_len	= 1,
360		.elem_size	=
361			sizeof_field(struct ipa_init_modem_driver_req,
362				     v6_filter_tbl_start_valid),
363		.tlv_type	= 0x15,
364		.offset		= offsetof(struct ipa_init_modem_driver_req,
365					   v6_filter_tbl_start_valid),
366	},
367	{
368		.data_type	= QMI_UNSIGNED_4_BYTE,
369		.elem_len	= 1,
370		.elem_size	=
371			sizeof_field(struct ipa_init_modem_driver_req,
372				     v6_filter_tbl_start),
373		.tlv_type	= 0x15,
374		.offset		= offsetof(struct ipa_init_modem_driver_req,
375					   v6_filter_tbl_start),
376	},
377	{
378		.data_type	= QMI_OPT_FLAG,
379		.elem_len	= 1,
380		.elem_size	=
381			sizeof_field(struct ipa_init_modem_driver_req,
382				     modem_mem_info_valid),
383		.tlv_type	= 0x16,
384		.offset		= offsetof(struct ipa_init_modem_driver_req,
385					   modem_mem_info_valid),
386	},
387	{
388		.data_type	= QMI_STRUCT,
389		.elem_len	= 1,
390		.elem_size	=
391			sizeof_field(struct ipa_init_modem_driver_req,
392				     modem_mem_info),
393		.tlv_type	= 0x16,
394		.offset		= offsetof(struct ipa_init_modem_driver_req,
395					   modem_mem_info),
396		.ei_array	= ipa_mem_range_ei,
397	},
398	{
399		.data_type	= QMI_OPT_FLAG,
400		.elem_len	= 1,
401		.elem_size	=
402			sizeof_field(struct ipa_init_modem_driver_req,
403				     ctrl_comm_dest_end_pt_valid),
404		.tlv_type	= 0x17,
405		.offset		= offsetof(struct ipa_init_modem_driver_req,
406					   ctrl_comm_dest_end_pt_valid),
407	},
408	{
409		.data_type	= QMI_UNSIGNED_4_BYTE,
410		.elem_len	= 1,
411		.elem_size	=
412			sizeof_field(struct ipa_init_modem_driver_req,
413				     ctrl_comm_dest_end_pt),
414		.tlv_type	= 0x17,
415		.offset		= offsetof(struct ipa_init_modem_driver_req,
416					   ctrl_comm_dest_end_pt),
417	},
418	{
419		.data_type	= QMI_OPT_FLAG,
420		.elem_len	= 1,
421		.elem_size	=
422			sizeof_field(struct ipa_init_modem_driver_req,
423				     skip_uc_load_valid),
424		.tlv_type	= 0x18,
425		.offset		= offsetof(struct ipa_init_modem_driver_req,
426					   skip_uc_load_valid),
427	},
428	{
429		.data_type	= QMI_UNSIGNED_1_BYTE,
430		.elem_len	= 1,
431		.elem_size	=
432			sizeof_field(struct ipa_init_modem_driver_req,
433				     skip_uc_load),
434		.tlv_type	= 0x18,
435		.offset		= offsetof(struct ipa_init_modem_driver_req,
436					   skip_uc_load),
437	},
438	{
439		.data_type	= QMI_OPT_FLAG,
440		.elem_len	= 1,
441		.elem_size	=
442			sizeof_field(struct ipa_init_modem_driver_req,
443				     hdr_proc_ctx_tbl_info_valid),
444		.tlv_type	= 0x19,
445		.offset		= offsetof(struct ipa_init_modem_driver_req,
446					   hdr_proc_ctx_tbl_info_valid),
447	},
448	{
449		.data_type	= QMI_STRUCT,
450		.elem_len	= 1,
451		.elem_size	=
452			sizeof_field(struct ipa_init_modem_driver_req,
453				     hdr_proc_ctx_tbl_info),
454		.tlv_type	= 0x19,
455		.offset		= offsetof(struct ipa_init_modem_driver_req,
456					   hdr_proc_ctx_tbl_info),
457		.ei_array	= ipa_mem_bounds_ei,
458	},
459	{
460		.data_type	= QMI_OPT_FLAG,
461		.elem_len	= 1,
462		.elem_size	=
463			sizeof_field(struct ipa_init_modem_driver_req,
464				     zip_tbl_info_valid),
465		.tlv_type	= 0x1a,
466		.offset		= offsetof(struct ipa_init_modem_driver_req,
467					   zip_tbl_info_valid),
468	},
469	{
470		.data_type	= QMI_STRUCT,
471		.elem_len	= 1,
472		.elem_size	=
473			sizeof_field(struct ipa_init_modem_driver_req,
474				     zip_tbl_info),
475		.tlv_type	= 0x1a,
476		.offset		= offsetof(struct ipa_init_modem_driver_req,
477					   zip_tbl_info),
478		.ei_array	= ipa_mem_bounds_ei,
479	},
480	{
481		.data_type	= QMI_OPT_FLAG,
482		.elem_len	= 1,
483		.elem_size	=
484			sizeof_field(struct ipa_init_modem_driver_req,
485				     v4_hash_route_tbl_info_valid),
486		.tlv_type	= 0x1b,
487		.offset		= offsetof(struct ipa_init_modem_driver_req,
488					   v4_hash_route_tbl_info_valid),
489	},
490	{
491		.data_type	= QMI_STRUCT,
492		.elem_len	= 1,
493		.elem_size	=
494			sizeof_field(struct ipa_init_modem_driver_req,
495				     v4_hash_route_tbl_info),
496		.tlv_type	= 0x1b,
497		.offset		= offsetof(struct ipa_init_modem_driver_req,
498					   v4_hash_route_tbl_info),
499		.ei_array	= ipa_mem_bounds_ei,
500	},
501	{
502		.data_type	= QMI_OPT_FLAG,
503		.elem_len	= 1,
504		.elem_size	=
505			sizeof_field(struct ipa_init_modem_driver_req,
506				     v6_hash_route_tbl_info_valid),
507		.tlv_type	= 0x1c,
508		.offset		= offsetof(struct ipa_init_modem_driver_req,
509					   v6_hash_route_tbl_info_valid),
510	},
511	{
512		.data_type	= QMI_STRUCT,
513		.elem_len	= 1,
514		.elem_size	=
515			sizeof_field(struct ipa_init_modem_driver_req,
516				     v6_hash_route_tbl_info),
517		.tlv_type	= 0x1c,
518		.offset		= offsetof(struct ipa_init_modem_driver_req,
519					   v6_hash_route_tbl_info),
520		.ei_array	= ipa_mem_bounds_ei,
521	},
522	{
523		.data_type	= QMI_OPT_FLAG,
524		.elem_len	= 1,
525		.elem_size	=
526			sizeof_field(struct ipa_init_modem_driver_req,
527				     v4_hash_filter_tbl_start_valid),
528		.tlv_type	= 0x1d,
529		.offset		= offsetof(struct ipa_init_modem_driver_req,
530					   v4_hash_filter_tbl_start_valid),
531	},
532	{
533		.data_type	= QMI_UNSIGNED_4_BYTE,
534		.elem_len	= 1,
535		.elem_size	=
536			sizeof_field(struct ipa_init_modem_driver_req,
537				     v4_hash_filter_tbl_start),
538		.tlv_type	= 0x1d,
539		.offset		= offsetof(struct ipa_init_modem_driver_req,
540					   v4_hash_filter_tbl_start),
541	},
542	{
543		.data_type	= QMI_OPT_FLAG,
544		.elem_len	= 1,
545		.elem_size	=
546			sizeof_field(struct ipa_init_modem_driver_req,
547				     v6_hash_filter_tbl_start_valid),
548		.tlv_type	= 0x1e,
549		.offset		= offsetof(struct ipa_init_modem_driver_req,
550					   v6_hash_filter_tbl_start_valid),
551	},
552	{
553		.data_type	= QMI_UNSIGNED_4_BYTE,
554		.elem_len	= 1,
555		.elem_size	=
556			sizeof_field(struct ipa_init_modem_driver_req,
557				     v6_hash_filter_tbl_start),
558		.tlv_type	= 0x1e,
559		.offset		= offsetof(struct ipa_init_modem_driver_req,
560					   v6_hash_filter_tbl_start),
561	},
562	{
563		.data_type	= QMI_OPT_FLAG,
564		.elem_len	= 1,
565		.elem_size	=
566			sizeof_field(struct ipa_init_modem_driver_req,
567				     hw_stats_quota_base_addr_valid),
568		.tlv_type	= 0x1f,
569		.offset		= offsetof(struct ipa_init_modem_driver_req,
570					   hw_stats_quota_base_addr_valid),
571	},
572	{
573		.data_type	= QMI_UNSIGNED_4_BYTE,
574		.elem_len	= 1,
575		.elem_size	=
576			sizeof_field(struct ipa_init_modem_driver_req,
577				     hw_stats_quota_base_addr),
578		.tlv_type	= 0x1f,
579		.offset		= offsetof(struct ipa_init_modem_driver_req,
580					   hw_stats_quota_base_addr),
581	},
582	{
583		.data_type	= QMI_OPT_FLAG,
584		.elem_len	= 1,
585		.elem_size	=
586			sizeof_field(struct ipa_init_modem_driver_req,
587				     hw_stats_quota_size_valid),
588		.tlv_type	= 0x20,
589		.offset		= offsetof(struct ipa_init_modem_driver_req,
590					   hw_stats_quota_size_valid),
591	},
592	{
593		.data_type	= QMI_UNSIGNED_4_BYTE,
594		.elem_len	= 1,
595		.elem_size	=
596			sizeof_field(struct ipa_init_modem_driver_req,
597				     hw_stats_quota_size),
598		.tlv_type	= 0x20,
599		.offset		= offsetof(struct ipa_init_modem_driver_req,
600					   hw_stats_quota_size),
601	},
602	{
603		.data_type	= QMI_OPT_FLAG,
604		.elem_len	= 1,
605		.elem_size	=
606			sizeof_field(struct ipa_init_modem_driver_req,
607				     hw_stats_drop_base_addr_valid),
608		.tlv_type	= 0x21,
609		.offset		= offsetof(struct ipa_init_modem_driver_req,
610					   hw_stats_drop_base_addr_valid),
611	},
612	{
613		.data_type	= QMI_UNSIGNED_4_BYTE,
614		.elem_len	= 1,
615		.elem_size	=
616			sizeof_field(struct ipa_init_modem_driver_req,
617				     hw_stats_drop_base_addr),
618		.tlv_type	= 0x21,
619		.offset		= offsetof(struct ipa_init_modem_driver_req,
620					   hw_stats_drop_base_addr),
621	},
622	{
623		.data_type	= QMI_OPT_FLAG,
624		.elem_len	= 1,
625		.elem_size	=
626			sizeof_field(struct ipa_init_modem_driver_req,
627				     hw_stats_drop_size_valid),
628		.tlv_type	= 0x22,
629		.offset		= offsetof(struct ipa_init_modem_driver_req,
630					   hw_stats_drop_size_valid),
631	},
632	{
633		.data_type	= QMI_UNSIGNED_4_BYTE,
634		.elem_len	= 1,
635		.elem_size	=
636			sizeof_field(struct ipa_init_modem_driver_req,
637				     hw_stats_drop_size),
638		.tlv_type	= 0x22,
639		.offset		= offsetof(struct ipa_init_modem_driver_req,
640					   hw_stats_drop_size),
641	},
642	{
643		.data_type	= QMI_EOTI,
644	},
645};
646
647/* QMI message structure definition for struct ipa_init_modem_driver_rsp */
648const struct qmi_elem_info ipa_init_modem_driver_rsp_ei[] = {
649	{
650		.data_type	= QMI_STRUCT,
651		.elem_len	= 1,
652		.elem_size	=
653			sizeof_field(struct ipa_init_modem_driver_rsp,
654				     rsp),
655		.tlv_type	= 0x02,
656		.offset		= offsetof(struct ipa_init_modem_driver_rsp,
657					   rsp),
658		.ei_array	= qmi_response_type_v01_ei,
659	},
660	{
661		.data_type	= QMI_OPT_FLAG,
662		.elem_len	= 1,
663		.elem_size	=
664			sizeof_field(struct ipa_init_modem_driver_rsp,
665				     ctrl_comm_dest_end_pt_valid),
666		.tlv_type	= 0x10,
667		.offset		= offsetof(struct ipa_init_modem_driver_rsp,
668					   ctrl_comm_dest_end_pt_valid),
669	},
670	{
671		.data_type	= QMI_UNSIGNED_4_BYTE,
672		.elem_len	= 1,
673		.elem_size	=
674			sizeof_field(struct ipa_init_modem_driver_rsp,
675				     ctrl_comm_dest_end_pt),
676		.tlv_type	= 0x10,
677		.offset		= offsetof(struct ipa_init_modem_driver_rsp,
678					   ctrl_comm_dest_end_pt),
679	},
680	{
681		.data_type	= QMI_OPT_FLAG,
682		.elem_len	= 1,
683		.elem_size	=
684			sizeof_field(struct ipa_init_modem_driver_rsp,
685				     default_end_pt_valid),
686		.tlv_type	= 0x11,
687		.offset		= offsetof(struct ipa_init_modem_driver_rsp,
688					   default_end_pt_valid),
689	},
690	{
691		.data_type	= QMI_UNSIGNED_4_BYTE,
692		.elem_len	= 1,
693		.elem_size	=
694			sizeof_field(struct ipa_init_modem_driver_rsp,
695				     default_end_pt),
696		.tlv_type	= 0x11,
697		.offset		= offsetof(struct ipa_init_modem_driver_rsp,
698					   default_end_pt),
699	},
700	{
701		.data_type	= QMI_OPT_FLAG,
702		.elem_len	= 1,
703		.elem_size	=
704			sizeof_field(struct ipa_init_modem_driver_rsp,
705				     modem_driver_init_pending_valid),
706		.tlv_type	= 0x12,
707		.offset		= offsetof(struct ipa_init_modem_driver_rsp,
708					   modem_driver_init_pending_valid),
709	},
710	{
711		.data_type	= QMI_UNSIGNED_1_BYTE,
712		.elem_len	= 1,
713		.elem_size	=
714			sizeof_field(struct ipa_init_modem_driver_rsp,
715				     modem_driver_init_pending),
716		.tlv_type	= 0x12,
717		.offset		= offsetof(struct ipa_init_modem_driver_rsp,
718					   modem_driver_init_pending),
719	},
720	{
721		.data_type	= QMI_EOTI,
722	},
723};