mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-12 15:49:17 -04:00
msm: ipa: IPAv5 updates
Add IPAv5 HW definitions and update structures Change-Id: I9991ba7be9dbbcb009b901f55c32e223d20b8c31 Acked-by: Nadav Levintov <nadavl@qti.qualcomm.com> Signed-off-by: Amir Levy <alevy@codeaurora.org> Signed-off-by: Sivan Reinstein <sivanr@codeaurora.org> Signed-off-by: Ilia Lin <ilialin@codeaurora.org>
This commit is contained in:
parent
488de2480d
commit
682c5acff2
2 changed files with 22 additions and 3 deletions
|
|
@ -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;
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
|
|||
Loading…
Reference in a new issue