qcacld-3.0: Replace channel list with freq list
Add freq_list in tagCsrChannelInfo to replace ChannelList
Add APIs to translate between channel list and freq list
Change-Id: I2f086d9371e2ec928bbb47aa2be91d65a206f4d6
CRs-Fixed: 2492624
diff --git a/core/sme/inc/csr_api.h b/core/sme/inc/csr_api.h
index 5dec5ba..f693f5e 100644
--- a/core/sme/inc/csr_api.h
+++ b/core/sme/inc/csr_api.h
@@ -197,6 +197,7 @@
typedef struct tagCsrChannelInfo {
uint8_t numOfChannels;
uint8_t *ChannelList; /* it will be an array of channels */
+ uint32_t *freq_list;
} tCsrChannelInfo, *tpCsrChannelInfo;
typedef enum {
diff --git a/core/sme/inc/sme_api.h b/core/sme/inc/sme_api.h
index 942b55e..10e3719 100644
--- a/core/sme/inc/sme_api.h
+++ b/core/sme/inc/sme_api.h
@@ -3579,4 +3579,16 @@
*/
QDF_STATUS sme_set_disconnect_ies(mac_handle_t mac_handle, uint8_t vdev_id,
uint8_t *ie_data, uint16_t ie_len);
+
+void sme_freq_to_chan_list(
+ struct wlan_objmgr_pdev *pdev,
+ uint8_t *chan_list,
+ uint32_t *freq_list,
+ uint32_t chan_list_len);
+
+void sme_chan_to_freq_list(
+ struct wlan_objmgr_pdev *pdev,
+ uint32_t *freq_list,
+ const uint8_t *chan_list,
+ uint32_t chan_list_len);
#endif /* #if !defined( __SME_API_H ) */
diff --git a/core/sme/src/common/sme_api.c b/core/sme/src/common/sme_api.c
index bc58a82..71068cd 100644
--- a/core/sme/src/common/sme_api.c
+++ b/core/sme/src/common/sme_api.c
@@ -15721,3 +15721,29 @@
wlan_objmgr_vdev_release_ref(vdev, WLAN_LEGACY_SME_ID);
return QDF_STATUS_SUCCESS;
}
+
+void sme_freq_to_chan_list(
+ struct wlan_objmgr_pdev *pdev,
+ uint8_t *chan_list,
+ uint32_t *freq_list,
+ uint32_t chan_list_len)
+{
+ uint32_t count;
+
+ for (count = 0; count < chan_list_len; count++)
+ chan_list[count] =
+ (uint8_t)wlan_reg_freq_to_chan(pdev, freq_list[count]);
+}
+
+void sme_chan_to_freq_list(
+ struct wlan_objmgr_pdev *pdev,
+ uint32_t *freq_list,
+ const uint8_t *chan_list,
+ uint32_t chan_list_len)
+{
+ uint32_t count;
+
+ for (count = 0; count < chan_list_len; count++)
+ freq_list[count] =
+ wlan_reg_chan_to_freq(pdev, (uint32_t)chan_list[count]);
+}