Loading drivers/platform/msm/ipa/ipa_qmi_service_v01.c +97 −0 Original line number Diff line number Diff line Loading @@ -95,6 +95,60 @@ static struct elem_info ipa_modem_mem_info_type_data_v01_ei[] = { }, }; static struct elem_info ipa_hdr_proc_ctx_tbl_info_type_data_v01_ei[] = { { .data_type = QMI_UNSIGNED_4_BYTE, .elem_len = 1, .elem_size = sizeof(uint32_t), .is_array = NO_ARRAY, .tlv_type = QMI_COMMON_TLV_TYPE, .offset = offsetof( struct ipa_hdr_proc_ctx_tbl_info_type_v01, modem_offset_start), }, { .data_type = QMI_UNSIGNED_4_BYTE, .elem_len = 1, .elem_size = sizeof(uint32_t), .is_array = NO_ARRAY, .tlv_type = QMI_COMMON_TLV_TYPE, .offset = offsetof( struct ipa_hdr_proc_ctx_tbl_info_type_v01, modem_offset_end), }, { .data_type = QMI_EOTI, .is_array = NO_ARRAY, .tlv_type = QMI_COMMON_TLV_TYPE, }, }; static struct elem_info ipa_zip_tbl_info_type_data_v01_ei[] = { { .data_type = QMI_UNSIGNED_4_BYTE, .elem_len = 1, .elem_size = sizeof(uint32_t), .is_array = NO_ARRAY, .tlv_type = QMI_COMMON_TLV_TYPE, .offset = offsetof(struct ipa_zip_tbl_info_type_v01, modem_offset_start), }, { .data_type = QMI_UNSIGNED_4_BYTE, .elem_len = 1, .elem_size = sizeof(uint32_t), .is_array = NO_ARRAY, .tlv_type = QMI_COMMON_TLV_TYPE, .offset = offsetof(struct ipa_zip_tbl_info_type_v01, modem_offset_end), }, { .data_type = QMI_EOTI, .is_array = NO_ARRAY, .tlv_type = QMI_COMMON_TLV_TYPE, }, }; static struct elem_info ipa_ipfltr_range_eq_16_type_data_v01_ei[] = { { .data_type = QMI_UNSIGNED_1_BYTE, Loading Loading @@ -822,6 +876,49 @@ struct elem_info ipa_init_modem_driver_req_msg_data_v01_ei[] = { struct ipa_init_modem_driver_req_msg_v01, is_ssr_bootup), }, { .data_type = QMI_OPT_FLAG, .elem_len = 1, .elem_size = sizeof(uint8_t), .is_array = NO_ARRAY, .tlv_type = 0x19, .offset = offsetof( struct ipa_init_modem_driver_req_msg_v01, hdr_proc_ctx_tbl_info_valid), }, { .data_type = QMI_STRUCT, .elem_len = 1, .elem_size = sizeof( struct ipa_hdr_proc_ctx_tbl_info_type_v01), .is_array = NO_ARRAY, .tlv_type = 0x19, .offset = offsetof( struct ipa_init_modem_driver_req_msg_v01, hdr_proc_ctx_tbl_info), .ei_array = ipa_hdr_proc_ctx_tbl_info_type_data_v01_ei, }, { .data_type = QMI_OPT_FLAG, .elem_len = 1, .elem_size = sizeof(uint8_t), .is_array = NO_ARRAY, .tlv_type = 0x1A, .offset = offsetof( struct ipa_init_modem_driver_req_msg_v01, zip_tbl_info_valid), }, { .data_type = QMI_STRUCT, .elem_len = 1, .elem_size = sizeof(struct ipa_zip_tbl_info_type_v01), .is_array = NO_ARRAY, .tlv_type = 0x1A, .offset = offsetof( struct ipa_init_modem_driver_req_msg_v01, zip_tbl_info), .ei_array = ipa_zip_tbl_info_type_data_v01_ei, }, { .data_type = QMI_EOTI, .is_array = NO_ARRAY, Loading include/uapi/linux/ipa_qmi_service_v01.h +46 −1 Original line number Diff line number Diff line Loading @@ -136,6 +136,36 @@ struct ipa_modem_mem_info_type_v01 { /* Size of the block allocated for the modem driver */ }; /* Type */ struct ipa_hdr_proc_ctx_tbl_info_type_v01 { uint32_t modem_offset_start; /* Offset from the start of IPA shared memory from which the modem * driver may insert header processing context table entries. */ uint32_t modem_offset_end; /* Offset from the start of IPA shared memory beyond which the modem * driver may not insert header proc table entries. The space * available for the modem driver includes modem_offset_start and * modem_offset_end. */ }; /* Type */ struct ipa_zip_tbl_info_type_v01 { uint32_t modem_offset_start; /* Offset from the start of IPA shared memory from which the modem * driver may insert compression/decompression command entries. */ uint32_t modem_offset_end; /* Offset from the start of IPA shared memory beyond which the modem * driver may not insert compression/decompression command entries. * The space available for the modem driver includes * modem_offset_start and modem_offset_end. */ }; /* Type */ /** Request Message; Requests the modem IPA driver to perform initializtion */ struct ipa_init_modem_driver_req_msg_v01 { Loading Loading @@ -218,6 +248,21 @@ struct ipa_init_modem_driver_req_msg_v01 { * initialization. */ /* Optional */ /* Header Processing Context Table Information */ uint8_t hdr_proc_ctx_tbl_info_valid; /* Must be set to true if hdr_proc_ctx_tbl_info is being passed */ struct ipa_hdr_proc_ctx_tbl_info_type_v01 hdr_proc_ctx_tbl_info; /* Provides information about the header processing context table. */ /* Optional */ /* Compression Decompression Table Information */ uint8_t zip_tbl_info_valid; /* Must be set to true if zip_tbl_info is being passed */ struct ipa_zip_tbl_info_type_v01 zip_tbl_info; /* Provides information about the header processing context table. */ }; /* Message */ /* Response Message; Requests the modem IPA driver about initializtion */ Loading Loading @@ -994,7 +1039,7 @@ struct ipa_config_resp_msg_v01 { #define QMI_IPA_CONFIG_RESP_V01 0x0027 /* add for max length*/ #define QMI_IPA_INIT_MODEM_DRIVER_REQ_MAX_MSG_LEN_V01 76 #define QMI_IPA_INIT_MODEM_DRIVER_REQ_MAX_MSG_LEN_V01 98 #define QMI_IPA_INIT_MODEM_DRIVER_RESP_MAX_MSG_LEN_V01 21 #define QMI_IPA_INDICATION_REGISTER_REQ_MAX_MSG_LEN_V01 4 #define QMI_IPA_INDICATION_REGISTER_RESP_MAX_MSG_LEN_V01 7 Loading Loading
drivers/platform/msm/ipa/ipa_qmi_service_v01.c +97 −0 Original line number Diff line number Diff line Loading @@ -95,6 +95,60 @@ static struct elem_info ipa_modem_mem_info_type_data_v01_ei[] = { }, }; static struct elem_info ipa_hdr_proc_ctx_tbl_info_type_data_v01_ei[] = { { .data_type = QMI_UNSIGNED_4_BYTE, .elem_len = 1, .elem_size = sizeof(uint32_t), .is_array = NO_ARRAY, .tlv_type = QMI_COMMON_TLV_TYPE, .offset = offsetof( struct ipa_hdr_proc_ctx_tbl_info_type_v01, modem_offset_start), }, { .data_type = QMI_UNSIGNED_4_BYTE, .elem_len = 1, .elem_size = sizeof(uint32_t), .is_array = NO_ARRAY, .tlv_type = QMI_COMMON_TLV_TYPE, .offset = offsetof( struct ipa_hdr_proc_ctx_tbl_info_type_v01, modem_offset_end), }, { .data_type = QMI_EOTI, .is_array = NO_ARRAY, .tlv_type = QMI_COMMON_TLV_TYPE, }, }; static struct elem_info ipa_zip_tbl_info_type_data_v01_ei[] = { { .data_type = QMI_UNSIGNED_4_BYTE, .elem_len = 1, .elem_size = sizeof(uint32_t), .is_array = NO_ARRAY, .tlv_type = QMI_COMMON_TLV_TYPE, .offset = offsetof(struct ipa_zip_tbl_info_type_v01, modem_offset_start), }, { .data_type = QMI_UNSIGNED_4_BYTE, .elem_len = 1, .elem_size = sizeof(uint32_t), .is_array = NO_ARRAY, .tlv_type = QMI_COMMON_TLV_TYPE, .offset = offsetof(struct ipa_zip_tbl_info_type_v01, modem_offset_end), }, { .data_type = QMI_EOTI, .is_array = NO_ARRAY, .tlv_type = QMI_COMMON_TLV_TYPE, }, }; static struct elem_info ipa_ipfltr_range_eq_16_type_data_v01_ei[] = { { .data_type = QMI_UNSIGNED_1_BYTE, Loading Loading @@ -822,6 +876,49 @@ struct elem_info ipa_init_modem_driver_req_msg_data_v01_ei[] = { struct ipa_init_modem_driver_req_msg_v01, is_ssr_bootup), }, { .data_type = QMI_OPT_FLAG, .elem_len = 1, .elem_size = sizeof(uint8_t), .is_array = NO_ARRAY, .tlv_type = 0x19, .offset = offsetof( struct ipa_init_modem_driver_req_msg_v01, hdr_proc_ctx_tbl_info_valid), }, { .data_type = QMI_STRUCT, .elem_len = 1, .elem_size = sizeof( struct ipa_hdr_proc_ctx_tbl_info_type_v01), .is_array = NO_ARRAY, .tlv_type = 0x19, .offset = offsetof( struct ipa_init_modem_driver_req_msg_v01, hdr_proc_ctx_tbl_info), .ei_array = ipa_hdr_proc_ctx_tbl_info_type_data_v01_ei, }, { .data_type = QMI_OPT_FLAG, .elem_len = 1, .elem_size = sizeof(uint8_t), .is_array = NO_ARRAY, .tlv_type = 0x1A, .offset = offsetof( struct ipa_init_modem_driver_req_msg_v01, zip_tbl_info_valid), }, { .data_type = QMI_STRUCT, .elem_len = 1, .elem_size = sizeof(struct ipa_zip_tbl_info_type_v01), .is_array = NO_ARRAY, .tlv_type = 0x1A, .offset = offsetof( struct ipa_init_modem_driver_req_msg_v01, zip_tbl_info), .ei_array = ipa_zip_tbl_info_type_data_v01_ei, }, { .data_type = QMI_EOTI, .is_array = NO_ARRAY, Loading
include/uapi/linux/ipa_qmi_service_v01.h +46 −1 Original line number Diff line number Diff line Loading @@ -136,6 +136,36 @@ struct ipa_modem_mem_info_type_v01 { /* Size of the block allocated for the modem driver */ }; /* Type */ struct ipa_hdr_proc_ctx_tbl_info_type_v01 { uint32_t modem_offset_start; /* Offset from the start of IPA shared memory from which the modem * driver may insert header processing context table entries. */ uint32_t modem_offset_end; /* Offset from the start of IPA shared memory beyond which the modem * driver may not insert header proc table entries. The space * available for the modem driver includes modem_offset_start and * modem_offset_end. */ }; /* Type */ struct ipa_zip_tbl_info_type_v01 { uint32_t modem_offset_start; /* Offset from the start of IPA shared memory from which the modem * driver may insert compression/decompression command entries. */ uint32_t modem_offset_end; /* Offset from the start of IPA shared memory beyond which the modem * driver may not insert compression/decompression command entries. * The space available for the modem driver includes * modem_offset_start and modem_offset_end. */ }; /* Type */ /** Request Message; Requests the modem IPA driver to perform initializtion */ struct ipa_init_modem_driver_req_msg_v01 { Loading Loading @@ -218,6 +248,21 @@ struct ipa_init_modem_driver_req_msg_v01 { * initialization. */ /* Optional */ /* Header Processing Context Table Information */ uint8_t hdr_proc_ctx_tbl_info_valid; /* Must be set to true if hdr_proc_ctx_tbl_info is being passed */ struct ipa_hdr_proc_ctx_tbl_info_type_v01 hdr_proc_ctx_tbl_info; /* Provides information about the header processing context table. */ /* Optional */ /* Compression Decompression Table Information */ uint8_t zip_tbl_info_valid; /* Must be set to true if zip_tbl_info is being passed */ struct ipa_zip_tbl_info_type_v01 zip_tbl_info; /* Provides information about the header processing context table. */ }; /* Message */ /* Response Message; Requests the modem IPA driver about initializtion */ Loading Loading @@ -994,7 +1039,7 @@ struct ipa_config_resp_msg_v01 { #define QMI_IPA_CONFIG_RESP_V01 0x0027 /* add for max length*/ #define QMI_IPA_INIT_MODEM_DRIVER_REQ_MAX_MSG_LEN_V01 76 #define QMI_IPA_INIT_MODEM_DRIVER_REQ_MAX_MSG_LEN_V01 98 #define QMI_IPA_INIT_MODEM_DRIVER_RESP_MAX_MSG_LEN_V01 21 #define QMI_IPA_INDICATION_REGISTER_REQ_MAX_MSG_LEN_V01 4 #define QMI_IPA_INDICATION_REGISTER_RESP_MAX_MSG_LEN_V01 7 Loading