Selaa lähdekoodia

qcacmn: Extract Multipass SAP support in target capabilities

In api extract_service_ready_ext2_tlv(), Multipass
SAP capabilities is extracted to enable multipass
sap suppot in host

Change-Id: I422a5dbaca405ceaea70559863af48d046f92cbe
CRs-Fixed: 3515331
Vijay Raj 2 vuotta sitten
vanhempi
sitoutus
843992732f

+ 18 - 0
target_if/core/inc/target_if.h

@@ -617,6 +617,24 @@ static inline void target_psoc_set_wlan_init_status
 	psoc_info->info.wlan_init_status = wlan_init_status;
 }
 
+#ifdef QCA_MULTIPASS_SUPPORT
+/**
+ * target_is_multipass_sap() - Get multipass sap capabilities
+ * @psoc_info: pointer to structure target_psoc_info
+ *
+ * Return: True is FW support multipass SAP.
+ */
+static inline bool target_is_multipass_sap(struct target_psoc_info *psoc_info)
+{
+	return psoc_info->info.service_ext2_param.is_multipass_sap;
+}
+#else
+static inline bool target_is_multipass_sap(struct target_psoc_info *psoc_info)
+{
+	return false;
+}
+#endif
+
 /**
  * target_psoc_get_wlan_init_status() - get info wlan_init_status
  * @psoc_info:  pointer to structure target_psoc_info

+ 4 - 0
target_if/init_deinit/inc/service_ready_param.h

@@ -480,6 +480,7 @@ struct wlan_psoc_host_service_ext_param {
  * @afc_dev_type: AFC deployment type
  * @num_msdu_idx_qtype_map: Number of HTT_MSDUQ_INDEX to HTT_MSDU_QTYPE
  *                          mapping
+ * @is_multipass_sap: Multipass sap flag
  */
 struct wlan_psoc_host_service_ext2_param {
 	uint8_t reg_db_version_major;
@@ -510,6 +511,9 @@ struct wlan_psoc_host_service_ext2_param {
 	enum reg_afc_dev_deploy_type afc_dev_type;
 #endif
 	uint32_t num_msdu_idx_qtype_map;
+#ifdef QCA_MULTIPASS_SUPPORT
+	bool is_multipass_sap;
+#endif
 };
 
 #endif /* _SERVICE_READY_PARAM_H_*/

+ 19 - 0
wmi/src/wmi_unified_tlv.c

@@ -14323,6 +14323,22 @@ extract_hw_bdf_status(wmi_service_ready_ext2_event_fixed_param *ev)
 	}
 }
 
+#ifdef QCA_MULTIPASS_SUPPORT
+static void
+extract_multipass_sap_cap(struct wlan_psoc_host_service_ext2_param *param,
+			  uint32_t target_cap_flag)
+{
+	param->is_multipass_sap =
+	WMI_TARGET_CAP_MULTIPASS_SAP_SUPPORT_GET(target_cap_flag);
+}
+#else
+static void
+extract_multipass_sap_cap(struct wlan_psoc_host_service_ext2_param *param,
+			  uint32_t target_cap_flag)
+{
+}
+#endif
+
 /**
  * extract_service_ready_ext2_tlv() - extract service ready ext2 params from
  * event
@@ -14391,6 +14407,9 @@ extract_service_ready_ext2_tlv(wmi_unified_t wmi_handle, uint8_t *event,
 	param->dp_peer_meta_data_ver =
 			WMI_TARGET_CAP_FLAGS_RX_PEER_METADATA_VERSION_GET(
 						ev->target_cap_flags);
+
+	extract_multipass_sap_cap(param, ev->target_cap_flags);
+
 	extract_ul_mumimo_support(param);
 	wmi_debug("htt peer data :%d", ev->target_cap_flags);