Browse Source

msm: ipa: IPA_5.5 kernel tests update

Add support for IPA_5.5 in kernel tests.

Change-Id: I448936055c84d6e38f886becfba372627fb37147
Signed-off-by: Chaitanya Pratapa <[email protected]>
Chaitanya Pratapa 3 years ago
parent
commit
7ae30f4367
3 changed files with 57 additions and 4 deletions
  1. 3 3
      kernel-tests/TestsUtils.cpp
  2. 51 1
      kernel-tests/TestsUtils.h
  3. 3 0
      kernel-tests/main.cpp

+ 3 - 3
kernel-tests/TestsUtils.cpp

@@ -47,7 +47,7 @@ using namespace std;
 extern Logger g_Logger;
 
 static uint8_t IPv4Packet[IP4_PACKET_SIZE] = {
-		0x45, 0x00, 0x00, 0x2e,
+		0x45, 0x00, 0x00, 0x29,
 		0x00, 0x00, 0x40, 0x00,
 		0xff, 0x06, 0xf5, 0xfd,// Protocol = 06 (TCP)
 		0xc0, 0xa8, 0x02, 0x13,// IPv4 SRC Addr 192.168.2.19
@@ -89,7 +89,7 @@ static uint8_t IPv6Packet[] = {
 
 static uint8_t IPv6PacketFragExtHdr[] = {
 		0x60, 0x00, 0x00, 0x00,
-		0x00, 0x0c, 0x2C, 0x01, // Next header = FRAGMENT HEADER(44)
+		0x00, 0x24, 0x2C, 0x01, // Next header = FRAGMENT HEADER(44)
 		0xfe, 0x80, 0x00, 0x00,
 		0x00, 0x00, 0x00, 0x00,
 		0xd9, 0xf9, 0xce, 0x5e,
@@ -240,7 +240,7 @@ static const uint8_t Eth2IPv4Packet802_1Q_tag[] =
 		0x81, 0x00, 0x20, 0x03,			// 802.1Q header with VLAN ID = 3
 		0x08, 0x00,				// ETH2 TYPE IPv4 - ETH_P_IP 0x0800
 							// IPv4
-		0x45, 0x00, 0x00, 0x2e,
+		0x45, 0x00, 0x00, 0x29,
 		0x00, 0x00, 0x40, 0x00,
 		0xff, 0x06, 0xf5, 0xfd,			// Protocol = 06 (TCP)
 		0xc0, 0xa8, 0x02, 0x13,			// IPv4 SRC Addr 192.168.2.19

+ 51 - 1
kernel-tests/TestsUtils.h

@@ -609,6 +609,7 @@ enum hdr_total_len_or_pad_type {
 
 struct ipa_ep_cfg_nat {
 	enum ipa_nat_en_type nat_en;
+	bool nat_exc_suppress;
 };
 
 struct ipa_ep_cfg_conn_track {
@@ -654,6 +655,7 @@ struct ipa_ep_cfg_aggr {
 	bool aggr_sw_eof_active;
 	uint8_t pulse_generator;
 	uint8_t scaled_time;
+	bool aggr_coal_l2;
 };
 
 struct ipa_ep_cfg_route {
@@ -682,6 +684,7 @@ struct ipa_ep_cfg_cfg {
 	uint8_t cs_metadata_hdr_offset;
 	uint8_t gen_qmb_master_sel;
 	uint8_t tx_instance;
+	bool pipe_replicate_en;
 };
 
 struct ipa_ep_cfg_metadata_mask {
@@ -716,6 +719,16 @@ struct ipa_pkt_init_ex_hdr_ofst_set {
 	enum ipa_client_type ep;
 };
 
+struct ipa_ep_cfg_prod_cfg {
+	uint8_t tx_instance;
+	bool tsp_enable;
+	bool max_output_size_drop_enable;
+	uint8_t tsp_idx;
+	uint8_t max_output_size;
+	uint8_t egress_tc_lowest;
+	uint8_t egress_tc_highest;
+};
+
 /*
  * This struct is a mirroring of the ipa struct
  * the test module expect to get from user-space the
@@ -737,6 +750,7 @@ struct test_ipa_ep_cfg {
 	struct ipa_ep_cfg_metadata meta;
 	struct ipa_ep_cfg_seq seq;
 	struct ipa_ep_cfg_ulso ulso;
+	struct ipa_ep_cfg_prod_cfg prod_cfg;
 };
 
 /*! @brief Struct for the IPAv3.0 UL packet status header */
@@ -806,5 +820,41 @@ struct ipa3_hw_pkt_status_hw_v5_0 {
 	uint64_t ucp : 1;
 };
 
-
+struct ipa3_hw_pkt_status_hw_v5_5 {
+	uint64_t status_opcode:8;
+	uint64_t exception:8;
+	uint64_t status_mask:16;
+	uint64_t pkt_len:16;
+	uint64_t endp_src_idx:8;
+	uint64_t reserved_1:3;
+	uint64_t rt_local:1;
+	uint64_t rt_hash:1;
+	uint64_t reserved_2:3;
+	uint64_t metadata:32;
+	uint64_t flt_local:1;
+	uint64_t flt_hash:1;
+	uint64_t flt_global:1;
+	uint64_t flt_ret_hdr:1;
+	uint64_t flt_rule_id:10;
+	uint64_t rt_tbl_idx:8;
+	uint64_t rt_rule_id:10;
+	uint64_t nat_hit:1;
+	uint64_t nat_entry_idx:13;
+	uint64_t nat_type:2;
+	uint64_t tag_info:36;
+	uint64_t egress_tc:6;
+	uint64_t ingress_tc:6;
+	uint64_t seq_num:8;
+	uint64_t time_of_day_ctr:24;
+	uint64_t hdr_local:1;
+	uint64_t hdr_offset:10;
+	uint64_t frag_hit:1;
+	uint64_t frag_rule:4;
+	uint64_t endp_dest_idx:8;
+	uint64_t hw_specific:4;
+	uint64_t nat_exc_suppress:1;
+	uint64_t tsp:1;
+	uint64_t ttl_dec:1;
+	uint64_t ucp:1;
+};
 #endif

+ 3 - 0
kernel-tests/main.cpp

@@ -89,9 +89,12 @@ const char *ipa_hw_type_name[] = {
 	"4.1",
 	"4.2",
 	"4.5",
+	"4.7",
 	"4.9",
+	"4.11",
 	"5.0",
 	"5.1",
+	"5.5",
 	"MAX"
 };