Loading drivers/platform/msm/ipa/ipa_v3/ipa_qmi_service_v01.c +170 −0 Original line number Diff line number Diff line Loading @@ -1349,6 +1349,26 @@ struct qmi_elem_info ipa3_indication_reg_req_msg_data_v01_ei[] = { struct ipa_indication_reg_req_msg_v01, ipa_mhi_ready_ind_valid), }, { .data_type = QMI_OPT_FLAG, .elem_len = 1, .elem_size = sizeof(u8), .array_type = NO_ARRAY, .tlv_type = 0x13, .offset = offsetof( struct ipa_indication_reg_req_msg_v01, endpoint_desc_ind_valid), }, { .data_type = QMI_UNSIGNED_1_BYTE, .elem_len = 1, .elem_size = sizeof(u8), .array_type = NO_ARRAY, .tlv_type = 0x13, .offset = offsetof( struct ipa_indication_reg_req_msg_v01, endpoint_desc_ind), }, { .data_type = QMI_UNSIGNED_1_BYTE, .elem_len = 1, Loading Loading @@ -1911,6 +1931,36 @@ struct qmi_elem_info ipa3_install_fltr_rule_req_msg_data_v01_ei[] = { filter_spec_ex2_list), .ei_array = ipa_filter_spec_ex2_type_v01_ei, }, { .data_type = QMI_OPT_FLAG, .elem_len = 1, .elem_size = sizeof(uint8_t), .array_type = NO_ARRAY, .tlv_type = 0x17, .offset = offsetof( struct ipa_install_fltr_rule_req_msg_v01, ul_firewall_indices_list_valid), }, { .data_type = QMI_DATA_LEN, .elem_len = 1, .elem_size = sizeof(uint8_t), .array_type = NO_ARRAY, .tlv_type = 0x17, .offset = offsetof( struct ipa_install_fltr_rule_req_msg_v01, ul_firewall_indices_list_len), }, { .data_type = QMI_UNSIGNED_4_BYTE, .elem_len = QMI_IPA_MAX_FILTERS_V01, .elem_size = sizeof(uint32_t), .array_type = VAR_LEN_ARRAY, .tlv_type = 0x17, .offset = offsetof( struct ipa_install_fltr_rule_req_msg_v01, ul_firewall_indices_list), }, { .data_type = QMI_EOTI, .array_type = NO_ARRAY, Loading Loading @@ -2243,6 +2293,36 @@ struct qmi_elem_info ipa3_fltr_installed_notif_req_msg_data_v01_ei[] = { struct ipa_fltr_installed_notif_req_msg_v01, dst_pipe_id), }, { .data_type = QMI_OPT_FLAG, .elem_len = 1, .elem_size = sizeof(uint8_t), .array_type = NO_ARRAY, .tlv_type = 0x19, .offset = offsetof( struct ipa_fltr_installed_notif_req_msg_v01, rule_id_ex_valid), }, { .data_type = QMI_DATA_LEN, .elem_len = 1, .elem_size = sizeof(uint8_t), .array_type = NO_ARRAY, .tlv_type = 0x19, .offset = offsetof( struct ipa_fltr_installed_notif_req_msg_v01, rule_id_ex_len), }, { .data_type = QMI_UNSIGNED_4_BYTE, .elem_len = QMI_IPA_MAX_FILTERS_EX2_V01, .elem_size = sizeof(uint32_t), .array_type = VAR_LEN_ARRAY, .tlv_type = 0x19, .offset = offsetof( struct ipa_fltr_installed_notif_req_msg_v01, rule_id_ex), }, { .data_type = QMI_EOTI, .array_type = NO_ARRAY, Loading Loading @@ -3388,6 +3468,36 @@ struct qmi_elem_info ipa3_install_fltr_rule_req_ex_msg_data_v01_ei[] = { filter_spec_ex2_list), .ei_array = ipa_filter_spec_ex2_type_v01_ei, }, { .data_type = QMI_OPT_FLAG, .elem_len = 1, .elem_size = sizeof(uint8_t), .array_type = NO_ARRAY, .tlv_type = 0x16, .offset = offsetof( struct ipa_install_fltr_rule_req_ex_msg_v01, ul_firewall_indices_list_valid), }, { .data_type = QMI_DATA_LEN, .elem_len = 1, .elem_size = sizeof(uint8_t), .array_type = NO_ARRAY, .tlv_type = 0x16, .offset = offsetof( struct ipa_install_fltr_rule_req_ex_msg_v01, ul_firewall_indices_list_len), }, { .data_type = QMI_UNSIGNED_4_BYTE, .elem_len = QMI_IPA_MAX_FILTERS_V01, .elem_size = sizeof(uint32_t), .array_type = VAR_LEN_ARRAY, .tlv_type = 0x16, .offset = offsetof( struct ipa_install_fltr_rule_req_ex_msg_v01, ul_firewall_indices_list), }, { .data_type = QMI_EOTI, .array_type = NO_ARRAY, Loading Loading @@ -4369,6 +4479,46 @@ struct qmi_elem_info ipa_mhi_clk_vote_req_msg_v01_ei[] = { .offset = offsetof(struct ipa_mhi_clk_vote_req_msg_v01, mhi_vote), }, { .data_type = QMI_OPT_FLAG, .elem_len = 1, .elem_size = sizeof(uint8_t), .array_type = NO_ARRAY, .tlv_type = 0x10, .offset = offsetof( struct ipa_mhi_clk_vote_req_msg_v01, tput_value_valid), }, { .data_type = QMI_UNSIGNED_4_BYTE, .elem_len = 1, .elem_size = sizeof(uint32_t), .array_type = NO_ARRAY, .tlv_type = 0x10, .offset = offsetof( struct ipa_mhi_clk_vote_req_msg_v01, tput_value), }, { .data_type = QMI_OPT_FLAG, .elem_len = 1, .elem_size = sizeof(uint8_t), .array_type = NO_ARRAY, .tlv_type = 0x11, .offset = offsetof( struct ipa_mhi_clk_vote_req_msg_v01, clk_rate_valid), }, { .data_type = QMI_SIGNED_4_BYTE_ENUM, .elem_len = 1, .elem_size = sizeof(uint32_t), .array_type = NO_ARRAY, .tlv_type = 0x11, .offset = offsetof( struct ipa_mhi_clk_vote_req_msg_v01, clk_rate), }, { .data_type = QMI_EOTI, .array_type = NO_ARRAY, Loading Loading @@ -4780,6 +4930,26 @@ struct qmi_elem_info ipa_add_offload_connection_req_msg_v01_ei[] = { filter_spec_ex2_list), .ei_array = ipa_filter_spec_ex2_type_v01_ei, }, { .data_type = QMI_OPT_FLAG, .elem_len = 1, .elem_size = sizeof(u8), .array_type = NO_ARRAY, .tlv_type = 0x14, .offset = offsetof( struct ipa_add_offload_connection_req_msg_v01, embedded_call_mux_id_valid), }, { .data_type = QMI_UNSIGNED_4_BYTE, .elem_len = 1, .elem_size = sizeof(uint32_t), .array_type = NO_ARRAY, .tlv_type = 0x14, .offset = offsetof( struct ipa_add_offload_connection_req_msg_v01, embedded_call_mux_id), }, { .data_type = QMI_EOTI, .array_type = NO_ARRAY, Loading include/uapi/linux/ipa_qmi_service_v01.h +90 −6 Original line number Diff line number Diff line Loading @@ -36,6 +36,7 @@ #define QMI_IPA_REMOTE_MHI_CHANNELS_NUM_MAX_V01 6 #define QMI_IPA_MAX_FILTERS_EX_V01 128 #define QMI_IPA_MAX_FILTERS_EX2_V01 256 #define QMI_IPA_IPFLTR_NUM_IHL_RANGE_16_EQNS_V01 2 #define QMI_IPA_MAX_FILTERS_V01 64 #define QMI_IPA_IPFLTR_NUM_MEQ_128_EQNS_V01 2 Loading Loading @@ -465,6 +466,19 @@ struct ipa_indication_reg_req_msg_v01 { * If set to TRUE, this field indicates that the client wants to * receive indications about MHI ready for Channel allocations. */ /* Optional */ /* Endpoint Desc Info Indication */ uint8_t endpoint_desc_ind_valid; /* Must be set to true if endpoint_desc_ind is being passed */ uint8_t endpoint_desc_ind; /* * If set to TRUE, this field indicates that the client wants to * receive indications for Endpoint descriptor information via * QMI_IPA_ENDP_DESC_INDICATION. Setting this field in the request * message makes sense only when the QMI_IPA_INDICATION_REGISTER_REQ * is being originated from the master driver. */ }; /* Message */ Loading Loading @@ -1040,6 +1054,20 @@ struct ipa_install_fltr_rule_req_msg_v01 { /* Must be set to # of elements in filter_spec_ex2_list */ struct ipa_filter_spec_ex2_type_v01 filter_spec_ex2_list[QMI_IPA_MAX_FILTERS_V01]; /* Optional */ /* List of modem UL Filters in the Spec List which need be to * replicated with AP UL firewall filters */ uint8_t ul_firewall_indices_list_valid; /* Must be set to # of elements in ul_firewall_indices_list */ uint32_t ul_firewall_indices_list_len; uint32_t ul_firewall_indices_list[QMI_IPA_MAX_FILTERS_V01]; /* List of UL firewall filter indices. * Filter rules at specified indices must be replicated across * the firewall filters by the receiver and installed on the * associated IPA consumer pipe. */ }; /* Message */ struct ipa_filter_rule_identifier_to_handle_map_v01 { Loading Loading @@ -1230,6 +1258,18 @@ struct ipa_fltr_installed_notif_req_msg_v01 { uint32_t dst_pipe_id[QMI_IPA_MAX_CLIENT_DST_PIPES_V01]; /* Provides the list of destination pipe IDs for a source pipe. */ /* Optional */ /* List of Rule IDs extended */ uint8_t rule_id_ex_valid; /* Must be set to true if rule_id_ex is being passed. */ uint32_t rule_id_ex_len; /* Must be set to # of elements in rule_id_ex */ uint32_t rule_id_ex[QMI_IPA_MAX_FILTERS_EX2_V01]; /* Provides the list of Rule IDs of rules added in IPA on the * given source pipe index. If the install_status TLV indicates * a failure, the Rule IDs in this list must be set to a * reserved index (255). */ }; /* Message */ /* Response Message; This is the message that is exchanged between the Loading Loading @@ -1847,6 +1887,19 @@ struct ipa_install_fltr_rule_req_ex_msg_v01 { /* Must be set to # of elements in filter_spec_ex2_list */ struct ipa_filter_spec_ex2_type_v01 filter_spec_ex2_list[QMI_IPA_MAX_FILTERS_V01]; /* Optional */ /* List of modem UL Filters in the Spec List which need be to * replicated with AP UL firewall filters */ uint8_t ul_firewall_indices_list_valid; /* Must be set to # of elements in ul_firewall_indices_list */ uint32_t ul_firewall_indices_list_len; uint32_t ul_firewall_indices_list[QMI_IPA_MAX_FILTERS_V01]; /* List of UL firewall filter indices. * Filter rules at specified indices must be replicated across * the firewall filters by the receiver and installed on the * associated IPA consumer pipe. */ }; /* Message */ /* Response Message; Requests installation of filtering rules in the hardware Loading Loading @@ -2334,6 +2387,22 @@ struct ipa_mhi_alloc_channel_resp_msg_v01 { }; #define IPA_MHI_ALLOC_CHANNEL_RESP_MSG_V01_MAX_MSG_LEN 23 enum ipa_clock_rate_enum_v01 { IPA_CLOCK_RATE_ENUM_MIN_ENUM_VAL_V01 = IPA_INT_MIN, QMI_IPA_CLOCK_RATE_INVALID_V01 = 0, QMI_IPA_CLOCK_RATE_LOW_SVS_V01 = 1, QMI_IPA_CLOCK_RATE_SVS_V01 = 2, QMI_IPA_CLOCK_RATE_NOMINAL_V01 = 3, QMI_IPA_CLOCK_RATE_TURBO_V01 = 4, IPA_CLOCK_RATE_ENUM_MAX_ENUM_VAL_V01 = IPA_INT_MAX, }; struct ipa_mhi_clk_vote_req_msg_v01 { /* Mandatory */ uint8_t mhi_vote; Loading @@ -2342,8 +2411,17 @@ struct ipa_mhi_clk_vote_req_msg_v01 { * TRUE - ON * FALSE - OFF */ /* Optional */ /* Throughput Value */ uint8_t tput_value_valid; uint32_t tput_value; /* Optional */ /* IPA Clock Rate */ uint8_t clk_rate_valid; enum ipa_clock_rate_enum_v01 clk_rate; }; #define IPA_MHI_CLK_VOTE_REQ_MSG_V01_MAX_MSG_LEN 4 #define IPA_MHI_CLK_VOTE_REQ_MSG_V01_MAX_MSG_LEN 18 struct ipa_mhi_clk_vote_resp_msg_v01 { /* Mandatory */ Loading Loading @@ -2514,8 +2592,14 @@ struct ipa_add_offload_connection_req_msg_v01 { uint32_t filter_spec_ex2_list_len; struct ipa_filter_spec_ex2_type_v01 filter_spec_ex2_list[QMI_IPA_MAX_FILTERS_V01]; /* Optional */ /* Mux ID for embedded call */ uint8_t embedded_call_mux_id_valid; /* Must be set to true if embedded_call_mux_id is being passed */ uint32_t embedded_call_mux_id; /* Mux ID for the new embedded call */ }; /* Message */ #define IPA_ADD_OFFLOAD_CONNECTION_REQ_MSG_V01_MAX_MSG_LEN 11350 #define IPA_ADD_OFFLOAD_CONNECTION_REQ_MSG_V01_MAX_MSG_LEN 11357 struct ipa_add_offload_connection_resp_msg_v01 { /* Result Code */ Loading Loading @@ -2609,11 +2693,11 @@ struct ipa_remove_offload_connection_resp_msg_v01 { /* add for max length*/ #define QMI_IPA_INIT_MODEM_DRIVER_REQ_MAX_MSG_LEN_V01 162 #define QMI_IPA_INIT_MODEM_DRIVER_RESP_MAX_MSG_LEN_V01 25 #define QMI_IPA_INDICATION_REGISTER_REQ_MAX_MSG_LEN_V01 12 #define QMI_IPA_INDICATION_REGISTER_REQ_MAX_MSG_LEN_V01 16 #define QMI_IPA_INDICATION_REGISTER_RESP_MAX_MSG_LEN_V01 7 #define QMI_IPA_INSTALL_FILTER_RULE_REQ_MAX_MSG_LEN_V01 33445 #define QMI_IPA_INSTALL_FILTER_RULE_REQ_MAX_MSG_LEN_V01 33705 #define QMI_IPA_INSTALL_FILTER_RULE_RESP_MAX_MSG_LEN_V01 783 #define QMI_IPA_FILTER_INSTALLED_NOTIF_REQ_MAX_MSG_LEN_V01 870 #define QMI_IPA_FILTER_INSTALLED_NOTIF_REQ_MAX_MSG_LEN_V01 1899 #define QMI_IPA_FILTER_INSTALLED_NOTIF_RESP_MAX_MSG_LEN_V01 7 #define QMI_IPA_MASTER_DRIVER_INIT_COMPLETE_IND_MAX_MSG_LEN_V01 7 #define QMI_IPA_DATA_USAGE_QUOTA_REACHED_IND_MAX_MSG_LEN_V01 15 Loading Loading @@ -2643,7 +2727,7 @@ struct ipa_remove_offload_connection_resp_msg_v01 { #define QMI_IPA_INIT_MODEM_DRIVER_CMPLT_REQ_MAX_MSG_LEN_V01 4 #define QMI_IPA_INIT_MODEM_DRIVER_CMPLT_RESP_MAX_MSG_LEN_V01 7 #define QMI_IPA_INSTALL_FILTER_RULE_EX_REQ_MAX_MSG_LEN_V01 33761 #define QMI_IPA_INSTALL_FILTER_RULE_EX_REQ_MAX_MSG_LEN_V01 34021 #define QMI_IPA_INSTALL_FILTER_RULE_EX_RESP_MAX_MSG_LEN_V01 523 #define QMI_IPA_ENABLE_PER_CLIENT_STATS_REQ_MAX_MSG_LEN_V01 4 Loading Loading
drivers/platform/msm/ipa/ipa_v3/ipa_qmi_service_v01.c +170 −0 Original line number Diff line number Diff line Loading @@ -1349,6 +1349,26 @@ struct qmi_elem_info ipa3_indication_reg_req_msg_data_v01_ei[] = { struct ipa_indication_reg_req_msg_v01, ipa_mhi_ready_ind_valid), }, { .data_type = QMI_OPT_FLAG, .elem_len = 1, .elem_size = sizeof(u8), .array_type = NO_ARRAY, .tlv_type = 0x13, .offset = offsetof( struct ipa_indication_reg_req_msg_v01, endpoint_desc_ind_valid), }, { .data_type = QMI_UNSIGNED_1_BYTE, .elem_len = 1, .elem_size = sizeof(u8), .array_type = NO_ARRAY, .tlv_type = 0x13, .offset = offsetof( struct ipa_indication_reg_req_msg_v01, endpoint_desc_ind), }, { .data_type = QMI_UNSIGNED_1_BYTE, .elem_len = 1, Loading Loading @@ -1911,6 +1931,36 @@ struct qmi_elem_info ipa3_install_fltr_rule_req_msg_data_v01_ei[] = { filter_spec_ex2_list), .ei_array = ipa_filter_spec_ex2_type_v01_ei, }, { .data_type = QMI_OPT_FLAG, .elem_len = 1, .elem_size = sizeof(uint8_t), .array_type = NO_ARRAY, .tlv_type = 0x17, .offset = offsetof( struct ipa_install_fltr_rule_req_msg_v01, ul_firewall_indices_list_valid), }, { .data_type = QMI_DATA_LEN, .elem_len = 1, .elem_size = sizeof(uint8_t), .array_type = NO_ARRAY, .tlv_type = 0x17, .offset = offsetof( struct ipa_install_fltr_rule_req_msg_v01, ul_firewall_indices_list_len), }, { .data_type = QMI_UNSIGNED_4_BYTE, .elem_len = QMI_IPA_MAX_FILTERS_V01, .elem_size = sizeof(uint32_t), .array_type = VAR_LEN_ARRAY, .tlv_type = 0x17, .offset = offsetof( struct ipa_install_fltr_rule_req_msg_v01, ul_firewall_indices_list), }, { .data_type = QMI_EOTI, .array_type = NO_ARRAY, Loading Loading @@ -2243,6 +2293,36 @@ struct qmi_elem_info ipa3_fltr_installed_notif_req_msg_data_v01_ei[] = { struct ipa_fltr_installed_notif_req_msg_v01, dst_pipe_id), }, { .data_type = QMI_OPT_FLAG, .elem_len = 1, .elem_size = sizeof(uint8_t), .array_type = NO_ARRAY, .tlv_type = 0x19, .offset = offsetof( struct ipa_fltr_installed_notif_req_msg_v01, rule_id_ex_valid), }, { .data_type = QMI_DATA_LEN, .elem_len = 1, .elem_size = sizeof(uint8_t), .array_type = NO_ARRAY, .tlv_type = 0x19, .offset = offsetof( struct ipa_fltr_installed_notif_req_msg_v01, rule_id_ex_len), }, { .data_type = QMI_UNSIGNED_4_BYTE, .elem_len = QMI_IPA_MAX_FILTERS_EX2_V01, .elem_size = sizeof(uint32_t), .array_type = VAR_LEN_ARRAY, .tlv_type = 0x19, .offset = offsetof( struct ipa_fltr_installed_notif_req_msg_v01, rule_id_ex), }, { .data_type = QMI_EOTI, .array_type = NO_ARRAY, Loading Loading @@ -3388,6 +3468,36 @@ struct qmi_elem_info ipa3_install_fltr_rule_req_ex_msg_data_v01_ei[] = { filter_spec_ex2_list), .ei_array = ipa_filter_spec_ex2_type_v01_ei, }, { .data_type = QMI_OPT_FLAG, .elem_len = 1, .elem_size = sizeof(uint8_t), .array_type = NO_ARRAY, .tlv_type = 0x16, .offset = offsetof( struct ipa_install_fltr_rule_req_ex_msg_v01, ul_firewall_indices_list_valid), }, { .data_type = QMI_DATA_LEN, .elem_len = 1, .elem_size = sizeof(uint8_t), .array_type = NO_ARRAY, .tlv_type = 0x16, .offset = offsetof( struct ipa_install_fltr_rule_req_ex_msg_v01, ul_firewall_indices_list_len), }, { .data_type = QMI_UNSIGNED_4_BYTE, .elem_len = QMI_IPA_MAX_FILTERS_V01, .elem_size = sizeof(uint32_t), .array_type = VAR_LEN_ARRAY, .tlv_type = 0x16, .offset = offsetof( struct ipa_install_fltr_rule_req_ex_msg_v01, ul_firewall_indices_list), }, { .data_type = QMI_EOTI, .array_type = NO_ARRAY, Loading Loading @@ -4369,6 +4479,46 @@ struct qmi_elem_info ipa_mhi_clk_vote_req_msg_v01_ei[] = { .offset = offsetof(struct ipa_mhi_clk_vote_req_msg_v01, mhi_vote), }, { .data_type = QMI_OPT_FLAG, .elem_len = 1, .elem_size = sizeof(uint8_t), .array_type = NO_ARRAY, .tlv_type = 0x10, .offset = offsetof( struct ipa_mhi_clk_vote_req_msg_v01, tput_value_valid), }, { .data_type = QMI_UNSIGNED_4_BYTE, .elem_len = 1, .elem_size = sizeof(uint32_t), .array_type = NO_ARRAY, .tlv_type = 0x10, .offset = offsetof( struct ipa_mhi_clk_vote_req_msg_v01, tput_value), }, { .data_type = QMI_OPT_FLAG, .elem_len = 1, .elem_size = sizeof(uint8_t), .array_type = NO_ARRAY, .tlv_type = 0x11, .offset = offsetof( struct ipa_mhi_clk_vote_req_msg_v01, clk_rate_valid), }, { .data_type = QMI_SIGNED_4_BYTE_ENUM, .elem_len = 1, .elem_size = sizeof(uint32_t), .array_type = NO_ARRAY, .tlv_type = 0x11, .offset = offsetof( struct ipa_mhi_clk_vote_req_msg_v01, clk_rate), }, { .data_type = QMI_EOTI, .array_type = NO_ARRAY, Loading Loading @@ -4780,6 +4930,26 @@ struct qmi_elem_info ipa_add_offload_connection_req_msg_v01_ei[] = { filter_spec_ex2_list), .ei_array = ipa_filter_spec_ex2_type_v01_ei, }, { .data_type = QMI_OPT_FLAG, .elem_len = 1, .elem_size = sizeof(u8), .array_type = NO_ARRAY, .tlv_type = 0x14, .offset = offsetof( struct ipa_add_offload_connection_req_msg_v01, embedded_call_mux_id_valid), }, { .data_type = QMI_UNSIGNED_4_BYTE, .elem_len = 1, .elem_size = sizeof(uint32_t), .array_type = NO_ARRAY, .tlv_type = 0x14, .offset = offsetof( struct ipa_add_offload_connection_req_msg_v01, embedded_call_mux_id), }, { .data_type = QMI_EOTI, .array_type = NO_ARRAY, Loading
include/uapi/linux/ipa_qmi_service_v01.h +90 −6 Original line number Diff line number Diff line Loading @@ -36,6 +36,7 @@ #define QMI_IPA_REMOTE_MHI_CHANNELS_NUM_MAX_V01 6 #define QMI_IPA_MAX_FILTERS_EX_V01 128 #define QMI_IPA_MAX_FILTERS_EX2_V01 256 #define QMI_IPA_IPFLTR_NUM_IHL_RANGE_16_EQNS_V01 2 #define QMI_IPA_MAX_FILTERS_V01 64 #define QMI_IPA_IPFLTR_NUM_MEQ_128_EQNS_V01 2 Loading Loading @@ -465,6 +466,19 @@ struct ipa_indication_reg_req_msg_v01 { * If set to TRUE, this field indicates that the client wants to * receive indications about MHI ready for Channel allocations. */ /* Optional */ /* Endpoint Desc Info Indication */ uint8_t endpoint_desc_ind_valid; /* Must be set to true if endpoint_desc_ind is being passed */ uint8_t endpoint_desc_ind; /* * If set to TRUE, this field indicates that the client wants to * receive indications for Endpoint descriptor information via * QMI_IPA_ENDP_DESC_INDICATION. Setting this field in the request * message makes sense only when the QMI_IPA_INDICATION_REGISTER_REQ * is being originated from the master driver. */ }; /* Message */ Loading Loading @@ -1040,6 +1054,20 @@ struct ipa_install_fltr_rule_req_msg_v01 { /* Must be set to # of elements in filter_spec_ex2_list */ struct ipa_filter_spec_ex2_type_v01 filter_spec_ex2_list[QMI_IPA_MAX_FILTERS_V01]; /* Optional */ /* List of modem UL Filters in the Spec List which need be to * replicated with AP UL firewall filters */ uint8_t ul_firewall_indices_list_valid; /* Must be set to # of elements in ul_firewall_indices_list */ uint32_t ul_firewall_indices_list_len; uint32_t ul_firewall_indices_list[QMI_IPA_MAX_FILTERS_V01]; /* List of UL firewall filter indices. * Filter rules at specified indices must be replicated across * the firewall filters by the receiver and installed on the * associated IPA consumer pipe. */ }; /* Message */ struct ipa_filter_rule_identifier_to_handle_map_v01 { Loading Loading @@ -1230,6 +1258,18 @@ struct ipa_fltr_installed_notif_req_msg_v01 { uint32_t dst_pipe_id[QMI_IPA_MAX_CLIENT_DST_PIPES_V01]; /* Provides the list of destination pipe IDs for a source pipe. */ /* Optional */ /* List of Rule IDs extended */ uint8_t rule_id_ex_valid; /* Must be set to true if rule_id_ex is being passed. */ uint32_t rule_id_ex_len; /* Must be set to # of elements in rule_id_ex */ uint32_t rule_id_ex[QMI_IPA_MAX_FILTERS_EX2_V01]; /* Provides the list of Rule IDs of rules added in IPA on the * given source pipe index. If the install_status TLV indicates * a failure, the Rule IDs in this list must be set to a * reserved index (255). */ }; /* Message */ /* Response Message; This is the message that is exchanged between the Loading Loading @@ -1847,6 +1887,19 @@ struct ipa_install_fltr_rule_req_ex_msg_v01 { /* Must be set to # of elements in filter_spec_ex2_list */ struct ipa_filter_spec_ex2_type_v01 filter_spec_ex2_list[QMI_IPA_MAX_FILTERS_V01]; /* Optional */ /* List of modem UL Filters in the Spec List which need be to * replicated with AP UL firewall filters */ uint8_t ul_firewall_indices_list_valid; /* Must be set to # of elements in ul_firewall_indices_list */ uint32_t ul_firewall_indices_list_len; uint32_t ul_firewall_indices_list[QMI_IPA_MAX_FILTERS_V01]; /* List of UL firewall filter indices. * Filter rules at specified indices must be replicated across * the firewall filters by the receiver and installed on the * associated IPA consumer pipe. */ }; /* Message */ /* Response Message; Requests installation of filtering rules in the hardware Loading Loading @@ -2334,6 +2387,22 @@ struct ipa_mhi_alloc_channel_resp_msg_v01 { }; #define IPA_MHI_ALLOC_CHANNEL_RESP_MSG_V01_MAX_MSG_LEN 23 enum ipa_clock_rate_enum_v01 { IPA_CLOCK_RATE_ENUM_MIN_ENUM_VAL_V01 = IPA_INT_MIN, QMI_IPA_CLOCK_RATE_INVALID_V01 = 0, QMI_IPA_CLOCK_RATE_LOW_SVS_V01 = 1, QMI_IPA_CLOCK_RATE_SVS_V01 = 2, QMI_IPA_CLOCK_RATE_NOMINAL_V01 = 3, QMI_IPA_CLOCK_RATE_TURBO_V01 = 4, IPA_CLOCK_RATE_ENUM_MAX_ENUM_VAL_V01 = IPA_INT_MAX, }; struct ipa_mhi_clk_vote_req_msg_v01 { /* Mandatory */ uint8_t mhi_vote; Loading @@ -2342,8 +2411,17 @@ struct ipa_mhi_clk_vote_req_msg_v01 { * TRUE - ON * FALSE - OFF */ /* Optional */ /* Throughput Value */ uint8_t tput_value_valid; uint32_t tput_value; /* Optional */ /* IPA Clock Rate */ uint8_t clk_rate_valid; enum ipa_clock_rate_enum_v01 clk_rate; }; #define IPA_MHI_CLK_VOTE_REQ_MSG_V01_MAX_MSG_LEN 4 #define IPA_MHI_CLK_VOTE_REQ_MSG_V01_MAX_MSG_LEN 18 struct ipa_mhi_clk_vote_resp_msg_v01 { /* Mandatory */ Loading Loading @@ -2514,8 +2592,14 @@ struct ipa_add_offload_connection_req_msg_v01 { uint32_t filter_spec_ex2_list_len; struct ipa_filter_spec_ex2_type_v01 filter_spec_ex2_list[QMI_IPA_MAX_FILTERS_V01]; /* Optional */ /* Mux ID for embedded call */ uint8_t embedded_call_mux_id_valid; /* Must be set to true if embedded_call_mux_id is being passed */ uint32_t embedded_call_mux_id; /* Mux ID for the new embedded call */ }; /* Message */ #define IPA_ADD_OFFLOAD_CONNECTION_REQ_MSG_V01_MAX_MSG_LEN 11350 #define IPA_ADD_OFFLOAD_CONNECTION_REQ_MSG_V01_MAX_MSG_LEN 11357 struct ipa_add_offload_connection_resp_msg_v01 { /* Result Code */ Loading Loading @@ -2609,11 +2693,11 @@ struct ipa_remove_offload_connection_resp_msg_v01 { /* add for max length*/ #define QMI_IPA_INIT_MODEM_DRIVER_REQ_MAX_MSG_LEN_V01 162 #define QMI_IPA_INIT_MODEM_DRIVER_RESP_MAX_MSG_LEN_V01 25 #define QMI_IPA_INDICATION_REGISTER_REQ_MAX_MSG_LEN_V01 12 #define QMI_IPA_INDICATION_REGISTER_REQ_MAX_MSG_LEN_V01 16 #define QMI_IPA_INDICATION_REGISTER_RESP_MAX_MSG_LEN_V01 7 #define QMI_IPA_INSTALL_FILTER_RULE_REQ_MAX_MSG_LEN_V01 33445 #define QMI_IPA_INSTALL_FILTER_RULE_REQ_MAX_MSG_LEN_V01 33705 #define QMI_IPA_INSTALL_FILTER_RULE_RESP_MAX_MSG_LEN_V01 783 #define QMI_IPA_FILTER_INSTALLED_NOTIF_REQ_MAX_MSG_LEN_V01 870 #define QMI_IPA_FILTER_INSTALLED_NOTIF_REQ_MAX_MSG_LEN_V01 1899 #define QMI_IPA_FILTER_INSTALLED_NOTIF_RESP_MAX_MSG_LEN_V01 7 #define QMI_IPA_MASTER_DRIVER_INIT_COMPLETE_IND_MAX_MSG_LEN_V01 7 #define QMI_IPA_DATA_USAGE_QUOTA_REACHED_IND_MAX_MSG_LEN_V01 15 Loading Loading @@ -2643,7 +2727,7 @@ struct ipa_remove_offload_connection_resp_msg_v01 { #define QMI_IPA_INIT_MODEM_DRIVER_CMPLT_REQ_MAX_MSG_LEN_V01 4 #define QMI_IPA_INIT_MODEM_DRIVER_CMPLT_RESP_MAX_MSG_LEN_V01 7 #define QMI_IPA_INSTALL_FILTER_RULE_EX_REQ_MAX_MSG_LEN_V01 33761 #define QMI_IPA_INSTALL_FILTER_RULE_EX_REQ_MAX_MSG_LEN_V01 34021 #define QMI_IPA_INSTALL_FILTER_RULE_EX_RESP_MAX_MSG_LEN_V01 523 #define QMI_IPA_ENABLE_PER_CLIENT_STATS_REQ_MAX_MSG_LEN_V01 4 Loading