Loading include/linux/ipa.h +7 −0 Original line number Diff line number Diff line Loading @@ -223,6 +223,10 @@ struct ipa_ep_cfg_hdr { * @hdr_little_endian: 0-Big Endian, 1-Little Endian * @hdr: The header structure. Used starting IPA4.5 where part of the info * at the header structure is implemented via the EXT register at the H/W * @hdr_bytes_to_remove_valid: 0-Ignore hdr_bytes_to_remove field, 1-Process * hdr_bytes_to_remove field * @hdr_bytes_to_remove: desired bytes to remove from top of the packet for * partial L2 header retention */ struct ipa_ep_cfg_hdr_ext { u32 hdr_pad_to_alignment; Loading @@ -232,6 +236,8 @@ struct ipa_ep_cfg_hdr_ext { bool hdr_total_len_or_pad_valid; bool hdr_little_endian; struct ipa_ep_cfg_hdr *hdr; bool hdr_bytes_to_remove_valid; u32 hdr_bytes_to_remove; }; /** Loading Loading @@ -425,6 +431,7 @@ struct ipa_ep_cfg_cfg { enum ipa_cs_offload cs_offload_en; u8 cs_metadata_hdr_offset; u8 gen_qmb_master_sel; u8 tx_instance; }; /** Loading include/uapi/linux/msm_ipa.h +15 −3 Original line number Diff line number Diff line Loading @@ -252,7 +252,7 @@ enum ipa_client_type { IPA_CLIENT_A5_WLAN_AMPDU_PROD = 12, IPA_CLIENT_WLAN2_CONS = 13, /* RESERVED PROD = 14, */ IPA_CLIENT_WLAN3_PROD = 14, IPA_CLIENT_WLAN3_CONS = 15, /* RESERVED PROD = 16, */ Loading Loading @@ -390,9 +390,12 @@ enum ipa_client_type { IPA_CLIENT_APPS_WAN_LOW_LAT_PROD = 104, IPA_CLIENT_APPS_WAN_LOW_LAT_CONS = 105, IPA_CLIENT_QDSS_PROD = 106, IPA_CLIENT_MHI_QDSS_CONS = 107, }; #define IPA_CLIENT_MAX (IPA_CLIENT_APPS_WAN_LOW_LAT_CONS + 1) #define IPA_CLIENT_MAX (IPA_CLIENT_MHI_QDSS_CONS + 1) #define IPA_CLIENT_WLAN2_PROD IPA_CLIENT_A5_WLAN_AMPDU_PROD #define IPA_CLIENT_Q6_DL_NLO_DATA_PROD IPA_CLIENT_Q6_DL_NLO_DATA_PROD Loading Loading @@ -778,6 +781,7 @@ enum ipa_rm_resource_name { * @IPA_HW_v4_7: IPA hardware version 4.7 * @IPA_HW_v4_9: IPA hardware version 4.9 * @IPA_HW_v4_11: IPA hardware version 4.11 * @IPA_HW_v5_0: IPA hardware version 5.0 */ enum ipa_hw_type { IPA_HW_None = 0, Loading @@ -799,8 +803,9 @@ enum ipa_hw_type { IPA_HW_v4_7 = 18, IPA_HW_v4_9 = 19, IPA_HW_v4_11 = 20, IPA_HW_v5_0 = 21, }; #define IPA_HW_MAX (IPA_HW_v4_11 + 1) #define IPA_HW_MAX (IPA_HW_v5_0 + 1) #define IPA_HW_v4_0 IPA_HW_v4_0 #define IPA_HW_v4_1 IPA_HW_v4_1 Loading @@ -809,6 +814,7 @@ enum ipa_hw_type { #define IPA_HW_v4_7 IPA_HW_v4_7 #define IPA_HW_v4_9 IPA_HW_v4_9 #define IPA_HW_v4_11 IPA_HW_v4_11 #define IPA_HW_v5_0 IPA_HW_v5_0 /** * struct ipa_rule_attrib - attributes of a routing/filtering Loading Loading @@ -1077,6 +1083,8 @@ struct ipa_flt_rule { * flt rule. * @cnt_idx: if 0 means disable, otherwise use for index. * will be assigned by ipa driver. * @close_aggr_irq_mod: close aggregation/coalescing and close GSI * interrupt moderation */ struct ipa_flt_rule_v2 { uint8_t retain_hdr; Loading @@ -1094,6 +1102,7 @@ struct ipa_flt_rule_v2 { uint8_t pdn_idx; uint8_t enable_stats; uint8_t cnt_idx; uint8_t close_aggr_irq_mod; }; /** Loading Loading @@ -1186,6 +1195,8 @@ struct ipa_rt_rule { * rt rule. * @cnt_idx: if enable_stats is 1 and cnt_idx is 0, then cnt_idx * will be assigned by ipa driver. * @close_aggr_irq_mod: close aggregation/coalescing and close GSI * interrupt moderation */ struct ipa_rt_rule_v2 { enum ipa_client_type dst; Loading @@ -1198,6 +1209,7 @@ struct ipa_rt_rule_v2 { uint8_t coalesce; uint8_t enable_stats; uint8_t cnt_idx; uint8_t close_aggr_irq_mod; }; /** Loading Loading
include/linux/ipa.h +7 −0 Original line number Diff line number Diff line Loading @@ -223,6 +223,10 @@ struct ipa_ep_cfg_hdr { * @hdr_little_endian: 0-Big Endian, 1-Little Endian * @hdr: The header structure. Used starting IPA4.5 where part of the info * at the header structure is implemented via the EXT register at the H/W * @hdr_bytes_to_remove_valid: 0-Ignore hdr_bytes_to_remove field, 1-Process * hdr_bytes_to_remove field * @hdr_bytes_to_remove: desired bytes to remove from top of the packet for * partial L2 header retention */ struct ipa_ep_cfg_hdr_ext { u32 hdr_pad_to_alignment; Loading @@ -232,6 +236,8 @@ struct ipa_ep_cfg_hdr_ext { bool hdr_total_len_or_pad_valid; bool hdr_little_endian; struct ipa_ep_cfg_hdr *hdr; bool hdr_bytes_to_remove_valid; u32 hdr_bytes_to_remove; }; /** Loading Loading @@ -425,6 +431,7 @@ struct ipa_ep_cfg_cfg { enum ipa_cs_offload cs_offload_en; u8 cs_metadata_hdr_offset; u8 gen_qmb_master_sel; u8 tx_instance; }; /** Loading
include/uapi/linux/msm_ipa.h +15 −3 Original line number Diff line number Diff line Loading @@ -252,7 +252,7 @@ enum ipa_client_type { IPA_CLIENT_A5_WLAN_AMPDU_PROD = 12, IPA_CLIENT_WLAN2_CONS = 13, /* RESERVED PROD = 14, */ IPA_CLIENT_WLAN3_PROD = 14, IPA_CLIENT_WLAN3_CONS = 15, /* RESERVED PROD = 16, */ Loading Loading @@ -390,9 +390,12 @@ enum ipa_client_type { IPA_CLIENT_APPS_WAN_LOW_LAT_PROD = 104, IPA_CLIENT_APPS_WAN_LOW_LAT_CONS = 105, IPA_CLIENT_QDSS_PROD = 106, IPA_CLIENT_MHI_QDSS_CONS = 107, }; #define IPA_CLIENT_MAX (IPA_CLIENT_APPS_WAN_LOW_LAT_CONS + 1) #define IPA_CLIENT_MAX (IPA_CLIENT_MHI_QDSS_CONS + 1) #define IPA_CLIENT_WLAN2_PROD IPA_CLIENT_A5_WLAN_AMPDU_PROD #define IPA_CLIENT_Q6_DL_NLO_DATA_PROD IPA_CLIENT_Q6_DL_NLO_DATA_PROD Loading Loading @@ -778,6 +781,7 @@ enum ipa_rm_resource_name { * @IPA_HW_v4_7: IPA hardware version 4.7 * @IPA_HW_v4_9: IPA hardware version 4.9 * @IPA_HW_v4_11: IPA hardware version 4.11 * @IPA_HW_v5_0: IPA hardware version 5.0 */ enum ipa_hw_type { IPA_HW_None = 0, Loading @@ -799,8 +803,9 @@ enum ipa_hw_type { IPA_HW_v4_7 = 18, IPA_HW_v4_9 = 19, IPA_HW_v4_11 = 20, IPA_HW_v5_0 = 21, }; #define IPA_HW_MAX (IPA_HW_v4_11 + 1) #define IPA_HW_MAX (IPA_HW_v5_0 + 1) #define IPA_HW_v4_0 IPA_HW_v4_0 #define IPA_HW_v4_1 IPA_HW_v4_1 Loading @@ -809,6 +814,7 @@ enum ipa_hw_type { #define IPA_HW_v4_7 IPA_HW_v4_7 #define IPA_HW_v4_9 IPA_HW_v4_9 #define IPA_HW_v4_11 IPA_HW_v4_11 #define IPA_HW_v5_0 IPA_HW_v5_0 /** * struct ipa_rule_attrib - attributes of a routing/filtering Loading Loading @@ -1077,6 +1083,8 @@ struct ipa_flt_rule { * flt rule. * @cnt_idx: if 0 means disable, otherwise use for index. * will be assigned by ipa driver. * @close_aggr_irq_mod: close aggregation/coalescing and close GSI * interrupt moderation */ struct ipa_flt_rule_v2 { uint8_t retain_hdr; Loading @@ -1094,6 +1102,7 @@ struct ipa_flt_rule_v2 { uint8_t pdn_idx; uint8_t enable_stats; uint8_t cnt_idx; uint8_t close_aggr_irq_mod; }; /** Loading Loading @@ -1186,6 +1195,8 @@ struct ipa_rt_rule { * rt rule. * @cnt_idx: if enable_stats is 1 and cnt_idx is 0, then cnt_idx * will be assigned by ipa driver. * @close_aggr_irq_mod: close aggregation/coalescing and close GSI * interrupt moderation */ struct ipa_rt_rule_v2 { enum ipa_client_type dst; Loading @@ -1198,6 +1209,7 @@ struct ipa_rt_rule_v2 { uint8_t coalesce; uint8_t enable_stats; uint8_t cnt_idx; uint8_t close_aggr_irq_mod; }; /** Loading