Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2a46a957 authored by qctecmdr's avatar qctecmdr Committed by Gerrit - the friendly Code Review server
Browse files

Merge "msm: ipa: IPAv5 updates"

parents 9eaefd97 682c5acf
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -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;
@@ -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;
};

/**
@@ -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;
};

/**
+15 −3
Original line number Diff line number Diff line
@@ -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, */
@@ -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
@@ -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,
@@ -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
@@ -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
@@ -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;
@@ -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;
};

/**
@@ -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;
@@ -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;
};

/**