Kaynağa Gözat

qcacmn: AST entry definition for IPA

To support the EasyMesh feature WDS need to be enable and
same status need to be given to IPA driver for that add
new AST definition and declaration.

CRs-Fixed: 3226348
Change-Id: Id2c38b55310f6f0ef9e3d42d606feca16c7d9d78
Devender Kumar 3 yıl önce
ebeveyn
işleme
bf35825b9f

+ 8 - 0
qdf/inc/qdf_ipa.h

@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2017-2021, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
  *
  * Permission to use, copy, modify, and/or distribute this software for any
  * purpose with or without fee is hereby granted, provided that the above
@@ -256,6 +257,13 @@ typedef __qdf_ipa_wlan_hdr_attrib_val_t qdf_ipa_wlan_hdr_attrib_val_t;
 typedef int (*qdf_ipa_msg_pull_fn)(void *buff, u32 len, u32 type);
 typedef void (*qdf_ipa_ready_cb)(void *user_data);
 
+#ifdef IPA_WDS_EASYMESH_FEATURE
+/**
+ * __qdf_ipa_ast_info_type_t - AST entry create/update information
+ */
+typedef __qdf_ipa_ast_info_type_t qdf_ipa_ast_info_type_t;
+#endif
+
 #define QDF_IPA_SET_META_MSG_TYPE(meta, msg_type) \
 	__QDF_IPA_SET_META_MSG_TYPE(meta, msg_type)
 

+ 11 - 0
qdf/inc/qdf_ipa_wdi3.h

@@ -72,6 +72,11 @@ typedef __qdf_ipa_wdi_init_in_params_t qdf_ipa_wdi_init_in_params_t;
 #define QDF_IPA_WDI_INIT_IN_PARAMS_INSTANCE_ID(in_params)	\
 	__QDF_IPA_WDI_INIT_IN_PARAMS_INSTANCE_ID(in_params)
 
+#ifdef IPA_WDS_EASYMESH_FEATURE
+#define QDF_IPA_WDI_INIT_IN_PARAMS_WDS_UPDATE(in_params)	\
+	__QDF_IPA_WDI_INIT_IN_PARAMS_WDS_UPDATE(in_params)
+#endif
+
 /**
  * qdf_ipa_wdi_init_out_params_t - wdi init output parameters
  */
@@ -288,6 +293,12 @@ typedef __qdf_ipa_wdi_conn_in_params_t qdf_ipa_wdi_conn_in_params_t;
 	__QDF_IPA_WDI_CONN_IN_PARAMS_RX_SMMU(pipe_in)
 #define QDF_IPA_WDI_CONN_IN_PARAMS_HANDLE(pipe_in)	\
 	__QDF_IPA_WDI_CONN_IN_PARAMS_HANDLE(pipe_in)
+
+#ifdef IPA_WDS_EASYMESH_FEATURE
+#define QDF_IPA_WDI_CONN_IN_PARAMS_AST_NOTIFY(pipe_in)	\
+	__QDF_IPA_WDI_CONN_IN_PARAMS_AST_NOTIFY(pipe_in)
+#endif
+
 #ifdef IPA_WDI3_TX_TWO_PIPES
 #define QDF_IPA_WDI_CONN_IN_PARAMS_IS_TX1_USED(pipe_in)	\
 	__QDF_IPA_WDI_CONN_IN_PARAMS_IS_TX1_USED(pipe_in)

+ 10 - 0
qdf/linux/src/i_qdf_ipa.h

@@ -484,6 +484,16 @@ typedef enum ipa_rm_resource_name __qdf_ipa_rm_resource_name_t;
 typedef enum ipa_wlan_event __qdf_ipa_wlan_event_t;
 typedef struct ipa_wlan_msg __qdf_ipa_wlan_msg_t;
 
+#ifdef IPA_WDS_EASYMESH_FEATURE
+/**
+ * __qdf_ipa_ast_info_type_t - AST entry create/update information
+ */
+typedef struct ipa_ast_info_type __qdf_ipa_ast_info_type_t;
+
+#define QDF_IPA_WLAN_MSG_WDS_UPDATE(ipa_msg)	\
+	(((struct ipa_wlan_msg *)(ipa_msg))->ast_update)
+#endif
+
 #define QDF_IPA_WLAN_MSG_NAME(ipa_msg)	\
 	(((struct ipa_wlan_msg *)(ipa_msg))->name)
 #define QDF_IPA_WLAN_MSG_MAC_ADDR(ipa_msg)	\

+ 10 - 0
qdf/linux/src/i_qdf_ipa_wdi3.h

@@ -125,6 +125,11 @@ typedef struct ipa_wdi_init_in_params __qdf_ipa_wdi_init_in_params_t;
 	(((struct ipa_wdi_init_in_params *)(in_params))->inst_id)
 #endif
 
+#ifdef IPA_WDS_EASYMESH_FEATURE
+#define __QDF_IPA_WDI_INIT_IN_PARAMS_WDS_UPDATE(in_params)	\
+	(((struct ipa_wdi_init_in_params *)(in_params))->ast_update)
+#endif
+
 /**
  * __qdf_ipa_wdi_init_out_params_t - wdi init output parameters
  */
@@ -323,6 +328,11 @@ typedef struct ipa_wdi_conn_in_params  __qdf_ipa_wdi_conn_in_params_t;
 #define __QDF_IPA_WDI_CONN_IN_PARAMS_HANDLE(pipe_in)	\
 	(((struct ipa_wdi_conn_in_params *)(pipe_in))->hdl)
 
+#ifdef IPA_WDS_EASYMESH_FEATURE
+#define __QDF_IPA_WDI_CONN_IN_PARAMS_AST_NOTIFY(pipe_in)	\
+	(((struct ipa_wdi_conn_in_params *)(pipe_in))->ast_notify)
+#endif
+
 /**
  * __qdf_ipa_wdi_conn_out_params_t - information provided
  *				to WLAN druver