Browse Source

qcacmn: Add WMI changes for dynamic HW mode switch (Phase 2)

Add WMI changes for dynamic HW mode switch (Phase 2) as below.

1. Define new enum for dynamic hw mode switch type.
2. Extract tgt_pdev_id from mac_phy_caps_service_ready_ext event.

Change-Id: I2f0f3d4ab78a3043fb56b4d7796678a5e68bed0f
Daniel Kim 5 years ago
parent
commit
c4ffad74c3

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

@@ -179,6 +179,7 @@ struct wlan_psoc_host_hal_reg_cap_ext {
  * @chainmask_table_id: chain mask table id
  * @lmac_id: hw mac id
  * @reg_cap_ext: extended regulatory capabilities
+ * @tgt_pdev_id: target pdev id assigned and used by firmware
  */
 struct wlan_psoc_host_mac_phy_caps {
 	uint32_t hw_mode_id;
@@ -217,6 +218,7 @@ struct wlan_psoc_host_mac_phy_caps {
 	uint32_t chainmask_table_id;
 	uint32_t lmac_id;
 	struct wlan_psoc_host_hal_reg_cap_ext reg_cap_ext;
+	uint32_t tgt_pdev_id;
 };
 
 /**

+ 15 - 0
wmi/inc/wmi_unified_param.h

@@ -6660,6 +6660,21 @@ enum wmi_host_hw_mode_config_type {
 	WMI_HOST_HW_MODE_DETECT,
 };
 
+/**
+ * enum wmi_host_dynamic_hw_mode_config_type - Host defined enum for
+ * dynamic mode switch
+ * @WMI_HOST_DYNAMIC_HW_MODE_DISABLED: hw mode switch is disabled
+ * @WMI_HOST_DYNAMIC_HW_MODE_SLOW: hw mode switch with interface down/up
+ * @WMI_HOST_DYNAMIC_HW_MODE_FAST: hw mode switch without interface down/up
+ * @WMI_HOST_DYNAMIC_HW_MODE_MAX: Max value to indicate invalid mode
+ */
+enum wmi_host_dynamic_hw_mode_config_type {
+	WMI_HOST_DYNAMIC_HW_MODE_DISABLED = 0,
+	WMI_HOST_DYNAMIC_HW_MODE_SLOW     = 1,
+	WMI_HOST_DYNAMIC_HW_MODE_FAST     = 2,
+	WMI_HOST_DYNAMIC_HW_MODE_MAX,
+};
+
 /*
  * struct wmi_host_peer_txmu_cnt_event
  * @tx_mu_transmitted - MU-MIMO tx count

+ 1 - 0
wmi/src/wmi_unified_tlv.c

@@ -10037,6 +10037,7 @@ static QDF_STATUS extract_mac_phy_cap_service_ready_ext_tlv(
 	param->pdev_id = wmi_handle->ops->convert_pdev_id_target_to_host(
 							wmi_handle,
 							mac_phy_caps->pdev_id);
+	param->tgt_pdev_id = mac_phy_caps->pdev_id;
 	param->phy_id = mac_phy_caps->phy_id;
 	param->supports_11b =
 			WMI_SUPPORT_11B_GET(mac_phy_caps->supported_flags);