Эх сурвалжийг харах

qcacld-3.0: Set 2g vht20 cfg by both target capability and ini config

2g vht20 config should be decided by both capability indicated
by target and ini config. Only when F/W indicates 2g vht20
supported and ini config gEnableVhtFor24GHzBand=1, 2g vht20 is
enabled.

Change-Id: I5b7ad8f82b6000096327c501dc84ad05480ef0fd
CRs-Fixed: 2381514
Jianmin Zhu 6 жил өмнө
parent
commit
16ca97f691

+ 10 - 0
mlme/dispatcher/inc/wlan_mlme_api.h

@@ -1808,6 +1808,16 @@ wlan_mlme_get_vht_enable_gid(struct wlan_objmgr_psoc *psoc, bool *value);
 QDF_STATUS
 wlan_mlme_get_vht_for_24ghz(struct wlan_objmgr_psoc *psoc, bool *value);
 
+/**
+ * wlan_mlme_set_vht_for_24ghz() - Enables/disables VHT for 24 ghz
+ * @psoc: psoc context
+ * @value: data to be set
+ *
+ * Return: QDF_STATUS
+ */
+QDF_STATUS
+wlan_mlme_set_vht_for_24ghz(struct wlan_objmgr_psoc *psoc, bool value);
+
 /**
  * wlan_mlme_get_vendor_vht_for_24ghz() - nables/disables vendor VHT for 24 ghz
  * @psoc: psoc context

+ 16 - 0
mlme/dispatcher/inc/wlan_mlme_ucfg_api.h

@@ -2297,6 +2297,22 @@ ucfg_mlme_get_vht_for_24ghz(struct wlan_objmgr_psoc *psoc, bool *value)
 	return wlan_mlme_get_vht_for_24ghz(psoc, value);
 }
 
+/**
+ * ucfg_mlme_set_vht_for_24ghz() - Enables/disables vht for 24ghz
+ * @psoc: psoc context
+ * @value: data to be set
+ *
+ * Inline UCFG API to be used by HDD/OSIF callers to set the
+ * ignore_peer_ht_opmode flag value
+ *
+ * Return: QDF_STATUS_SUCCESS or QDF_STATUS_FAILURE
+ */
+static inline QDF_STATUS
+ucfg_mlme_set_vht_for_24ghz(struct wlan_objmgr_psoc *psoc, bool value)
+{
+	return wlan_mlme_set_vht_for_24ghz(psoc, value);
+}
+
 /**
  * ucfg_mlme_get_vendor_vht_for_24ghz() - Enables/disables vendor vht for 24ghz
  * @psoc: psoc context

+ 14 - 0
mlme/dispatcher/src/wlan_mlme_api.c

@@ -2732,6 +2732,20 @@ wlan_mlme_get_vht_for_24ghz(struct wlan_objmgr_psoc *psoc, bool *value)
 	return QDF_STATUS_SUCCESS;
 }
 
+QDF_STATUS
+wlan_mlme_set_vht_for_24ghz(struct wlan_objmgr_psoc *psoc, bool value)
+{
+	struct wlan_mlme_psoc_obj *mlme_obj;
+
+	mlme_obj = mlme_get_psoc_obj(psoc);
+	if (!mlme_obj)
+		return QDF_STATUS_E_FAILURE;
+
+	mlme_obj->cfg.vht_caps.vht_cap_info.b24ghz_band = value;
+
+	return QDF_STATUS_SUCCESS;
+}
+
 QDF_STATUS
 wlan_mlme_get_vendor_vht_for_24ghz(struct wlan_objmgr_psoc *psoc, bool *value)
 {