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]);
+}