0001
0002
0003
0004
0005
0006 #include <linux/stddef.h>
0007 #include <linux/soc/qcom/qmi.h>
0008
0009 #include "ipa_qmi_msg.h"
0010
0011
0012 struct qmi_elem_info ipa_indication_register_req_ei[] = {
0013 {
0014 .data_type = QMI_OPT_FLAG,
0015 .elem_len = 1,
0016 .elem_size =
0017 sizeof_field(struct ipa_indication_register_req,
0018 master_driver_init_complete_valid),
0019 .tlv_type = 0x10,
0020 .offset = offsetof(struct ipa_indication_register_req,
0021 master_driver_init_complete_valid),
0022 },
0023 {
0024 .data_type = QMI_UNSIGNED_1_BYTE,
0025 .elem_len = 1,
0026 .elem_size =
0027 sizeof_field(struct ipa_indication_register_req,
0028 master_driver_init_complete),
0029 .tlv_type = 0x10,
0030 .offset = offsetof(struct ipa_indication_register_req,
0031 master_driver_init_complete),
0032 },
0033 {
0034 .data_type = QMI_OPT_FLAG,
0035 .elem_len = 1,
0036 .elem_size =
0037 sizeof_field(struct ipa_indication_register_req,
0038 data_usage_quota_reached_valid),
0039 .tlv_type = 0x11,
0040 .offset = offsetof(struct ipa_indication_register_req,
0041 data_usage_quota_reached_valid),
0042 },
0043 {
0044 .data_type = QMI_UNSIGNED_1_BYTE,
0045 .elem_len = 1,
0046 .elem_size =
0047 sizeof_field(struct ipa_indication_register_req,
0048 data_usage_quota_reached),
0049 .tlv_type = 0x11,
0050 .offset = offsetof(struct ipa_indication_register_req,
0051 data_usage_quota_reached),
0052 },
0053 {
0054 .data_type = QMI_OPT_FLAG,
0055 .elem_len = 1,
0056 .elem_size =
0057 sizeof_field(struct ipa_indication_register_req,
0058 ipa_mhi_ready_ind_valid),
0059 .tlv_type = 0x12,
0060 .offset = offsetof(struct ipa_indication_register_req,
0061 ipa_mhi_ready_ind_valid),
0062 },
0063 {
0064 .data_type = QMI_UNSIGNED_1_BYTE,
0065 .elem_len = 1,
0066 .elem_size =
0067 sizeof_field(struct ipa_indication_register_req,
0068 ipa_mhi_ready_ind),
0069 .tlv_type = 0x12,
0070 .offset = offsetof(struct ipa_indication_register_req,
0071 ipa_mhi_ready_ind),
0072 },
0073 {
0074 .data_type = QMI_OPT_FLAG,
0075 .elem_len = 1,
0076 .elem_size =
0077 sizeof_field(struct ipa_indication_register_req,
0078 endpoint_desc_ind_valid),
0079 .tlv_type = 0x13,
0080 .offset = offsetof(struct ipa_indication_register_req,
0081 endpoint_desc_ind_valid),
0082 },
0083 {
0084 .data_type = QMI_UNSIGNED_1_BYTE,
0085 .elem_len = 1,
0086 .elem_size =
0087 sizeof_field(struct ipa_indication_register_req,
0088 endpoint_desc_ind),
0089 .tlv_type = 0x13,
0090 .offset = offsetof(struct ipa_indication_register_req,
0091 endpoint_desc_ind),
0092 },
0093 {
0094 .data_type = QMI_OPT_FLAG,
0095 .elem_len = 1,
0096 .elem_size =
0097 sizeof_field(struct ipa_indication_register_req,
0098 bw_change_ind_valid),
0099 .tlv_type = 0x14,
0100 .offset = offsetof(struct ipa_indication_register_req,
0101 bw_change_ind_valid),
0102 },
0103 {
0104 .data_type = QMI_UNSIGNED_1_BYTE,
0105 .elem_len = 1,
0106 .elem_size =
0107 sizeof_field(struct ipa_indication_register_req,
0108 bw_change_ind),
0109 .tlv_type = 0x14,
0110 .offset = offsetof(struct ipa_indication_register_req,
0111 bw_change_ind),
0112 },
0113 {
0114 .data_type = QMI_EOTI,
0115 },
0116 };
0117
0118
0119 struct qmi_elem_info ipa_indication_register_rsp_ei[] = {
0120 {
0121 .data_type = QMI_STRUCT,
0122 .elem_len = 1,
0123 .elem_size =
0124 sizeof_field(struct ipa_indication_register_rsp,
0125 rsp),
0126 .tlv_type = 0x02,
0127 .offset = offsetof(struct ipa_indication_register_rsp,
0128 rsp),
0129 .ei_array = qmi_response_type_v01_ei,
0130 },
0131 {
0132 .data_type = QMI_EOTI,
0133 },
0134 };
0135
0136
0137 struct qmi_elem_info ipa_driver_init_complete_req_ei[] = {
0138 {
0139 .data_type = QMI_UNSIGNED_1_BYTE,
0140 .elem_len = 1,
0141 .elem_size =
0142 sizeof_field(struct ipa_driver_init_complete_req,
0143 status),
0144 .tlv_type = 0x01,
0145 .offset = offsetof(struct ipa_driver_init_complete_req,
0146 status),
0147 },
0148 {
0149 .data_type = QMI_EOTI,
0150 },
0151 };
0152
0153
0154 struct qmi_elem_info ipa_driver_init_complete_rsp_ei[] = {
0155 {
0156 .data_type = QMI_STRUCT,
0157 .elem_len = 1,
0158 .elem_size =
0159 sizeof_field(struct ipa_driver_init_complete_rsp,
0160 rsp),
0161 .tlv_type = 0x02,
0162 .offset = offsetof(struct ipa_driver_init_complete_rsp,
0163 rsp),
0164 .ei_array = qmi_response_type_v01_ei,
0165 },
0166 {
0167 .data_type = QMI_EOTI,
0168 },
0169 };
0170
0171
0172 struct qmi_elem_info ipa_init_complete_ind_ei[] = {
0173 {
0174 .data_type = QMI_STRUCT,
0175 .elem_len = 1,
0176 .elem_size =
0177 sizeof_field(struct ipa_init_complete_ind,
0178 status),
0179 .tlv_type = 0x02,
0180 .offset = offsetof(struct ipa_init_complete_ind,
0181 status),
0182 .ei_array = qmi_response_type_v01_ei,
0183 },
0184 {
0185 .data_type = QMI_EOTI,
0186 },
0187 };
0188
0189
0190 struct qmi_elem_info ipa_mem_bounds_ei[] = {
0191 {
0192 .data_type = QMI_UNSIGNED_4_BYTE,
0193 .elem_len = 1,
0194 .elem_size =
0195 sizeof_field(struct ipa_mem_bounds, start),
0196 .offset = offsetof(struct ipa_mem_bounds, start),
0197 },
0198 {
0199 .data_type = QMI_UNSIGNED_4_BYTE,
0200 .elem_len = 1,
0201 .elem_size =
0202 sizeof_field(struct ipa_mem_bounds, end),
0203 .offset = offsetof(struct ipa_mem_bounds, end),
0204 },
0205 {
0206 .data_type = QMI_EOTI,
0207 },
0208 };
0209
0210
0211 struct qmi_elem_info ipa_mem_array_ei[] = {
0212 {
0213 .data_type = QMI_UNSIGNED_4_BYTE,
0214 .elem_len = 1,
0215 .elem_size =
0216 sizeof_field(struct ipa_mem_array, start),
0217 .offset = offsetof(struct ipa_mem_array, start),
0218 },
0219 {
0220 .data_type = QMI_UNSIGNED_4_BYTE,
0221 .elem_len = 1,
0222 .elem_size =
0223 sizeof_field(struct ipa_mem_array, count),
0224 .offset = offsetof(struct ipa_mem_array, count),
0225 },
0226 {
0227 .data_type = QMI_EOTI,
0228 },
0229 };
0230
0231
0232 struct qmi_elem_info ipa_mem_range_ei[] = {
0233 {
0234 .data_type = QMI_UNSIGNED_4_BYTE,
0235 .elem_len = 1,
0236 .elem_size =
0237 sizeof_field(struct ipa_mem_range, start),
0238 .offset = offsetof(struct ipa_mem_range, start),
0239 },
0240 {
0241 .data_type = QMI_UNSIGNED_4_BYTE,
0242 .elem_len = 1,
0243 .elem_size =
0244 sizeof_field(struct ipa_mem_range, size),
0245 .offset = offsetof(struct ipa_mem_range, size),
0246 },
0247 {
0248 .data_type = QMI_EOTI,
0249 },
0250 };
0251
0252
0253 struct qmi_elem_info ipa_init_modem_driver_req_ei[] = {
0254 {
0255 .data_type = QMI_OPT_FLAG,
0256 .elem_len = 1,
0257 .elem_size =
0258 sizeof_field(struct ipa_init_modem_driver_req,
0259 platform_type_valid),
0260 .tlv_type = 0x10,
0261 .offset = offsetof(struct ipa_init_modem_driver_req,
0262 platform_type_valid),
0263 },
0264 {
0265 .data_type = QMI_SIGNED_4_BYTE_ENUM,
0266 .elem_len = 1,
0267 .elem_size =
0268 sizeof_field(struct ipa_init_modem_driver_req,
0269 platform_type),
0270 .tlv_type = 0x10,
0271 .offset = offsetof(struct ipa_init_modem_driver_req,
0272 platform_type),
0273 },
0274 {
0275 .data_type = QMI_OPT_FLAG,
0276 .elem_len = 1,
0277 .elem_size =
0278 sizeof_field(struct ipa_init_modem_driver_req,
0279 hdr_tbl_info_valid),
0280 .tlv_type = 0x11,
0281 .offset = offsetof(struct ipa_init_modem_driver_req,
0282 hdr_tbl_info_valid),
0283 },
0284 {
0285 .data_type = QMI_STRUCT,
0286 .elem_len = 1,
0287 .elem_size =
0288 sizeof_field(struct ipa_init_modem_driver_req,
0289 hdr_tbl_info),
0290 .tlv_type = 0x11,
0291 .offset = offsetof(struct ipa_init_modem_driver_req,
0292 hdr_tbl_info),
0293 .ei_array = ipa_mem_bounds_ei,
0294 },
0295 {
0296 .data_type = QMI_OPT_FLAG,
0297 .elem_len = 1,
0298 .elem_size =
0299 sizeof_field(struct ipa_init_modem_driver_req,
0300 v4_route_tbl_info_valid),
0301 .tlv_type = 0x12,
0302 .offset = offsetof(struct ipa_init_modem_driver_req,
0303 v4_route_tbl_info_valid),
0304 },
0305 {
0306 .data_type = QMI_STRUCT,
0307 .elem_len = 1,
0308 .elem_size =
0309 sizeof_field(struct ipa_init_modem_driver_req,
0310 v4_route_tbl_info),
0311 .tlv_type = 0x12,
0312 .offset = offsetof(struct ipa_init_modem_driver_req,
0313 v4_route_tbl_info),
0314 .ei_array = ipa_mem_bounds_ei,
0315 },
0316 {
0317 .data_type = QMI_OPT_FLAG,
0318 .elem_len = 1,
0319 .elem_size =
0320 sizeof_field(struct ipa_init_modem_driver_req,
0321 v6_route_tbl_info_valid),
0322 .tlv_type = 0x13,
0323 .offset = offsetof(struct ipa_init_modem_driver_req,
0324 v6_route_tbl_info_valid),
0325 },
0326 {
0327 .data_type = QMI_STRUCT,
0328 .elem_len = 1,
0329 .elem_size =
0330 sizeof_field(struct ipa_init_modem_driver_req,
0331 v6_route_tbl_info),
0332 .tlv_type = 0x13,
0333 .offset = offsetof(struct ipa_init_modem_driver_req,
0334 v6_route_tbl_info),
0335 .ei_array = ipa_mem_bounds_ei,
0336 },
0337 {
0338 .data_type = QMI_OPT_FLAG,
0339 .elem_len = 1,
0340 .elem_size =
0341 sizeof_field(struct ipa_init_modem_driver_req,
0342 v4_filter_tbl_start_valid),
0343 .tlv_type = 0x14,
0344 .offset = offsetof(struct ipa_init_modem_driver_req,
0345 v4_filter_tbl_start_valid),
0346 },
0347 {
0348 .data_type = QMI_UNSIGNED_4_BYTE,
0349 .elem_len = 1,
0350 .elem_size =
0351 sizeof_field(struct ipa_init_modem_driver_req,
0352 v4_filter_tbl_start),
0353 .tlv_type = 0x14,
0354 .offset = offsetof(struct ipa_init_modem_driver_req,
0355 v4_filter_tbl_start),
0356 },
0357 {
0358 .data_type = QMI_OPT_FLAG,
0359 .elem_len = 1,
0360 .elem_size =
0361 sizeof_field(struct ipa_init_modem_driver_req,
0362 v6_filter_tbl_start_valid),
0363 .tlv_type = 0x15,
0364 .offset = offsetof(struct ipa_init_modem_driver_req,
0365 v6_filter_tbl_start_valid),
0366 },
0367 {
0368 .data_type = QMI_UNSIGNED_4_BYTE,
0369 .elem_len = 1,
0370 .elem_size =
0371 sizeof_field(struct ipa_init_modem_driver_req,
0372 v6_filter_tbl_start),
0373 .tlv_type = 0x15,
0374 .offset = offsetof(struct ipa_init_modem_driver_req,
0375 v6_filter_tbl_start),
0376 },
0377 {
0378 .data_type = QMI_OPT_FLAG,
0379 .elem_len = 1,
0380 .elem_size =
0381 sizeof_field(struct ipa_init_modem_driver_req,
0382 modem_mem_info_valid),
0383 .tlv_type = 0x16,
0384 .offset = offsetof(struct ipa_init_modem_driver_req,
0385 modem_mem_info_valid),
0386 },
0387 {
0388 .data_type = QMI_STRUCT,
0389 .elem_len = 1,
0390 .elem_size =
0391 sizeof_field(struct ipa_init_modem_driver_req,
0392 modem_mem_info),
0393 .tlv_type = 0x16,
0394 .offset = offsetof(struct ipa_init_modem_driver_req,
0395 modem_mem_info),
0396 .ei_array = ipa_mem_range_ei,
0397 },
0398 {
0399 .data_type = QMI_OPT_FLAG,
0400 .elem_len = 1,
0401 .elem_size =
0402 sizeof_field(struct ipa_init_modem_driver_req,
0403 ctrl_comm_dest_end_pt_valid),
0404 .tlv_type = 0x17,
0405 .offset = offsetof(struct ipa_init_modem_driver_req,
0406 ctrl_comm_dest_end_pt_valid),
0407 },
0408 {
0409 .data_type = QMI_UNSIGNED_4_BYTE,
0410 .elem_len = 1,
0411 .elem_size =
0412 sizeof_field(struct ipa_init_modem_driver_req,
0413 ctrl_comm_dest_end_pt),
0414 .tlv_type = 0x17,
0415 .offset = offsetof(struct ipa_init_modem_driver_req,
0416 ctrl_comm_dest_end_pt),
0417 },
0418 {
0419 .data_type = QMI_OPT_FLAG,
0420 .elem_len = 1,
0421 .elem_size =
0422 sizeof_field(struct ipa_init_modem_driver_req,
0423 skip_uc_load_valid),
0424 .tlv_type = 0x18,
0425 .offset = offsetof(struct ipa_init_modem_driver_req,
0426 skip_uc_load_valid),
0427 },
0428 {
0429 .data_type = QMI_UNSIGNED_1_BYTE,
0430 .elem_len = 1,
0431 .elem_size =
0432 sizeof_field(struct ipa_init_modem_driver_req,
0433 skip_uc_load),
0434 .tlv_type = 0x18,
0435 .offset = offsetof(struct ipa_init_modem_driver_req,
0436 skip_uc_load),
0437 },
0438 {
0439 .data_type = QMI_OPT_FLAG,
0440 .elem_len = 1,
0441 .elem_size =
0442 sizeof_field(struct ipa_init_modem_driver_req,
0443 hdr_proc_ctx_tbl_info_valid),
0444 .tlv_type = 0x19,
0445 .offset = offsetof(struct ipa_init_modem_driver_req,
0446 hdr_proc_ctx_tbl_info_valid),
0447 },
0448 {
0449 .data_type = QMI_STRUCT,
0450 .elem_len = 1,
0451 .elem_size =
0452 sizeof_field(struct ipa_init_modem_driver_req,
0453 hdr_proc_ctx_tbl_info),
0454 .tlv_type = 0x19,
0455 .offset = offsetof(struct ipa_init_modem_driver_req,
0456 hdr_proc_ctx_tbl_info),
0457 .ei_array = ipa_mem_bounds_ei,
0458 },
0459 {
0460 .data_type = QMI_OPT_FLAG,
0461 .elem_len = 1,
0462 .elem_size =
0463 sizeof_field(struct ipa_init_modem_driver_req,
0464 zip_tbl_info_valid),
0465 .tlv_type = 0x1a,
0466 .offset = offsetof(struct ipa_init_modem_driver_req,
0467 zip_tbl_info_valid),
0468 },
0469 {
0470 .data_type = QMI_STRUCT,
0471 .elem_len = 1,
0472 .elem_size =
0473 sizeof_field(struct ipa_init_modem_driver_req,
0474 zip_tbl_info),
0475 .tlv_type = 0x1a,
0476 .offset = offsetof(struct ipa_init_modem_driver_req,
0477 zip_tbl_info),
0478 .ei_array = ipa_mem_bounds_ei,
0479 },
0480 {
0481 .data_type = QMI_OPT_FLAG,
0482 .elem_len = 1,
0483 .elem_size =
0484 sizeof_field(struct ipa_init_modem_driver_req,
0485 v4_hash_route_tbl_info_valid),
0486 .tlv_type = 0x1b,
0487 .offset = offsetof(struct ipa_init_modem_driver_req,
0488 v4_hash_route_tbl_info_valid),
0489 },
0490 {
0491 .data_type = QMI_STRUCT,
0492 .elem_len = 1,
0493 .elem_size =
0494 sizeof_field(struct ipa_init_modem_driver_req,
0495 v4_hash_route_tbl_info),
0496 .tlv_type = 0x1b,
0497 .offset = offsetof(struct ipa_init_modem_driver_req,
0498 v4_hash_route_tbl_info),
0499 .ei_array = ipa_mem_bounds_ei,
0500 },
0501 {
0502 .data_type = QMI_OPT_FLAG,
0503 .elem_len = 1,
0504 .elem_size =
0505 sizeof_field(struct ipa_init_modem_driver_req,
0506 v6_hash_route_tbl_info_valid),
0507 .tlv_type = 0x1c,
0508 .offset = offsetof(struct ipa_init_modem_driver_req,
0509 v6_hash_route_tbl_info_valid),
0510 },
0511 {
0512 .data_type = QMI_STRUCT,
0513 .elem_len = 1,
0514 .elem_size =
0515 sizeof_field(struct ipa_init_modem_driver_req,
0516 v6_hash_route_tbl_info),
0517 .tlv_type = 0x1c,
0518 .offset = offsetof(struct ipa_init_modem_driver_req,
0519 v6_hash_route_tbl_info),
0520 .ei_array = ipa_mem_bounds_ei,
0521 },
0522 {
0523 .data_type = QMI_OPT_FLAG,
0524 .elem_len = 1,
0525 .elem_size =
0526 sizeof_field(struct ipa_init_modem_driver_req,
0527 v4_hash_filter_tbl_start_valid),
0528 .tlv_type = 0x1d,
0529 .offset = offsetof(struct ipa_init_modem_driver_req,
0530 v4_hash_filter_tbl_start_valid),
0531 },
0532 {
0533 .data_type = QMI_UNSIGNED_4_BYTE,
0534 .elem_len = 1,
0535 .elem_size =
0536 sizeof_field(struct ipa_init_modem_driver_req,
0537 v4_hash_filter_tbl_start),
0538 .tlv_type = 0x1d,
0539 .offset = offsetof(struct ipa_init_modem_driver_req,
0540 v4_hash_filter_tbl_start),
0541 },
0542 {
0543 .data_type = QMI_OPT_FLAG,
0544 .elem_len = 1,
0545 .elem_size =
0546 sizeof_field(struct ipa_init_modem_driver_req,
0547 v6_hash_filter_tbl_start_valid),
0548 .tlv_type = 0x1e,
0549 .offset = offsetof(struct ipa_init_modem_driver_req,
0550 v6_hash_filter_tbl_start_valid),
0551 },
0552 {
0553 .data_type = QMI_UNSIGNED_4_BYTE,
0554 .elem_len = 1,
0555 .elem_size =
0556 sizeof_field(struct ipa_init_modem_driver_req,
0557 v6_hash_filter_tbl_start),
0558 .tlv_type = 0x1e,
0559 .offset = offsetof(struct ipa_init_modem_driver_req,
0560 v6_hash_filter_tbl_start),
0561 },
0562 {
0563 .data_type = QMI_OPT_FLAG,
0564 .elem_len = 1,
0565 .elem_size =
0566 sizeof_field(struct ipa_init_modem_driver_req,
0567 hw_stats_quota_base_addr_valid),
0568 .tlv_type = 0x1f,
0569 .offset = offsetof(struct ipa_init_modem_driver_req,
0570 hw_stats_quota_base_addr_valid),
0571 },
0572 {
0573 .data_type = QMI_UNSIGNED_4_BYTE,
0574 .elem_len = 1,
0575 .elem_size =
0576 sizeof_field(struct ipa_init_modem_driver_req,
0577 hw_stats_quota_base_addr),
0578 .tlv_type = 0x1f,
0579 .offset = offsetof(struct ipa_init_modem_driver_req,
0580 hw_stats_quota_base_addr),
0581 },
0582 {
0583 .data_type = QMI_OPT_FLAG,
0584 .elem_len = 1,
0585 .elem_size =
0586 sizeof_field(struct ipa_init_modem_driver_req,
0587 hw_stats_quota_size_valid),
0588 .tlv_type = 0x20,
0589 .offset = offsetof(struct ipa_init_modem_driver_req,
0590 hw_stats_quota_size_valid),
0591 },
0592 {
0593 .data_type = QMI_UNSIGNED_4_BYTE,
0594 .elem_len = 1,
0595 .elem_size =
0596 sizeof_field(struct ipa_init_modem_driver_req,
0597 hw_stats_quota_size),
0598 .tlv_type = 0x20,
0599 .offset = offsetof(struct ipa_init_modem_driver_req,
0600 hw_stats_quota_size),
0601 },
0602 {
0603 .data_type = QMI_OPT_FLAG,
0604 .elem_len = 1,
0605 .elem_size =
0606 sizeof_field(struct ipa_init_modem_driver_req,
0607 hw_stats_drop_base_addr_valid),
0608 .tlv_type = 0x21,
0609 .offset = offsetof(struct ipa_init_modem_driver_req,
0610 hw_stats_drop_base_addr_valid),
0611 },
0612 {
0613 .data_type = QMI_UNSIGNED_4_BYTE,
0614 .elem_len = 1,
0615 .elem_size =
0616 sizeof_field(struct ipa_init_modem_driver_req,
0617 hw_stats_drop_base_addr),
0618 .tlv_type = 0x21,
0619 .offset = offsetof(struct ipa_init_modem_driver_req,
0620 hw_stats_drop_base_addr),
0621 },
0622 {
0623 .data_type = QMI_OPT_FLAG,
0624 .elem_len = 1,
0625 .elem_size =
0626 sizeof_field(struct ipa_init_modem_driver_req,
0627 hw_stats_drop_size_valid),
0628 .tlv_type = 0x22,
0629 .offset = offsetof(struct ipa_init_modem_driver_req,
0630 hw_stats_drop_size_valid),
0631 },
0632 {
0633 .data_type = QMI_UNSIGNED_4_BYTE,
0634 .elem_len = 1,
0635 .elem_size =
0636 sizeof_field(struct ipa_init_modem_driver_req,
0637 hw_stats_drop_size),
0638 .tlv_type = 0x22,
0639 .offset = offsetof(struct ipa_init_modem_driver_req,
0640 hw_stats_drop_size),
0641 },
0642 {
0643 .data_type = QMI_EOTI,
0644 },
0645 };
0646
0647
0648 struct qmi_elem_info ipa_init_modem_driver_rsp_ei[] = {
0649 {
0650 .data_type = QMI_STRUCT,
0651 .elem_len = 1,
0652 .elem_size =
0653 sizeof_field(struct ipa_init_modem_driver_rsp,
0654 rsp),
0655 .tlv_type = 0x02,
0656 .offset = offsetof(struct ipa_init_modem_driver_rsp,
0657 rsp),
0658 .ei_array = qmi_response_type_v01_ei,
0659 },
0660 {
0661 .data_type = QMI_OPT_FLAG,
0662 .elem_len = 1,
0663 .elem_size =
0664 sizeof_field(struct ipa_init_modem_driver_rsp,
0665 ctrl_comm_dest_end_pt_valid),
0666 .tlv_type = 0x10,
0667 .offset = offsetof(struct ipa_init_modem_driver_rsp,
0668 ctrl_comm_dest_end_pt_valid),
0669 },
0670 {
0671 .data_type = QMI_UNSIGNED_4_BYTE,
0672 .elem_len = 1,
0673 .elem_size =
0674 sizeof_field(struct ipa_init_modem_driver_rsp,
0675 ctrl_comm_dest_end_pt),
0676 .tlv_type = 0x10,
0677 .offset = offsetof(struct ipa_init_modem_driver_rsp,
0678 ctrl_comm_dest_end_pt),
0679 },
0680 {
0681 .data_type = QMI_OPT_FLAG,
0682 .elem_len = 1,
0683 .elem_size =
0684 sizeof_field(struct ipa_init_modem_driver_rsp,
0685 default_end_pt_valid),
0686 .tlv_type = 0x11,
0687 .offset = offsetof(struct ipa_init_modem_driver_rsp,
0688 default_end_pt_valid),
0689 },
0690 {
0691 .data_type = QMI_UNSIGNED_4_BYTE,
0692 .elem_len = 1,
0693 .elem_size =
0694 sizeof_field(struct ipa_init_modem_driver_rsp,
0695 default_end_pt),
0696 .tlv_type = 0x11,
0697 .offset = offsetof(struct ipa_init_modem_driver_rsp,
0698 default_end_pt),
0699 },
0700 {
0701 .data_type = QMI_OPT_FLAG,
0702 .elem_len = 1,
0703 .elem_size =
0704 sizeof_field(struct ipa_init_modem_driver_rsp,
0705 modem_driver_init_pending_valid),
0706 .tlv_type = 0x12,
0707 .offset = offsetof(struct ipa_init_modem_driver_rsp,
0708 modem_driver_init_pending_valid),
0709 },
0710 {
0711 .data_type = QMI_UNSIGNED_1_BYTE,
0712 .elem_len = 1,
0713 .elem_size =
0714 sizeof_field(struct ipa_init_modem_driver_rsp,
0715 modem_driver_init_pending),
0716 .tlv_type = 0x12,
0717 .offset = offsetof(struct ipa_init_modem_driver_rsp,
0718 modem_driver_init_pending),
0719 },
0720 {
0721 .data_type = QMI_EOTI,
0722 },
0723 };