From 5ce64f48cd07d1254d18d9cd5f31c33e8b51f97e Mon Sep 17 00:00:00 2001 From: Jianmin Zhu Date: Mon, 15 Jul 2019 19:20:09 +0800 Subject: [PATCH] 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 --- core/sme/inc/csr_api.h | 1 + core/sme/inc/sme_api.h | 12 ++++++++++++ core/sme/src/common/sme_api.c | 26 ++++++++++++++++++++++++++ 3 files changed, 39 insertions(+) diff --git a/core/sme/inc/csr_api.h b/core/sme/inc/csr_api.h index 5dec5ba4ef51..f693f5ea7302 100644 --- a/core/sme/inc/csr_api.h +++ b/core/sme/inc/csr_api.h @@ -197,6 +197,7 @@ typedef enum { 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 942b55e39e5f..10e3719fb376 100644 --- a/core/sme/inc/sme_api.h +++ b/core/sme/inc/sme_api.h @@ -3579,4 +3579,16 @@ QDF_STATUS sme_register_bcn_recv_pause_ind_cb(mac_handle_t mac_handle, */ 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 bc58a821b416..71068cd604be 100644 --- a/core/sme/src/common/sme_api.c +++ b/core/sme/src/common/sme_api.c @@ -15721,3 +15721,29 @@ QDF_STATUS sme_set_disconnect_ies(mac_handle_t mac_handle, uint8_t vdev_id, 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]); +}