qcacmn: Store and populate the DFS channel state array
Add an enum to encode various DFS channel states. The dfs channel states are represented using a per dfs array object rather than maintaining a channel state field for each channel (since dfs channel states are not required for 2G and 6G channels). The size of the array is approximately 30 because first_dfs_chan = 52 last_dfs_chan = 161(in case of ETSI EN302 502) channel_spacing = difference between 2 consecutive 5G channels = 4 size_of_the_array = (last_dfs_chan - first_dfs_chan) / channel_spacing = (161 - 52) / 4 = 27.25 ~= 30; The dfs channel array is indexed by hashing the frequency. The conversion (hash function) is as follows: given_chan_number = (given_chan_frequency - 5000) / 5; where 5 is: 5Mhz = minimum IEEE chan bandwidth. array_index = (given_chan_number - first_dfs_chan) / channel_spacing; Add the following functionalities: 1) initialize the DFS channel state array. 2) update the channel state array. 3) read the channel state array. 4) convert the channel frequency to channel state array index. 5) convert the dfs channel event to dfs channel state. Change-Id: I7921571fcc80b43a7ef7caf92c34b016fe396e45 CRs-Fixed: 2823529
这个提交包含在:
@@ -280,20 +280,26 @@ struct wlan_dfs_phyerr_param {
|
||||
/**
|
||||
* enum WLAN_DFS_EVENTS - DFS Events that will be sent to userspace
|
||||
* @WLAN_EV_RADAR_DETECTED: Radar is detected
|
||||
* @WLAN_EV_CAC_RESET: CAC started or CAC completed status is reset
|
||||
* @WLAN_EV_CAC_STARTED: CAC timer has started
|
||||
* @WLAN_EV_CAC_COMPLETED: CAC timer completed
|
||||
* @WLAN_EV_NOL_STARTED: NOL started
|
||||
* @WLAN_EV_NOL_FINISHED: NOL Completed
|
||||
* @WLAN_EV_PCAC_STARTED: PreCAC Started
|
||||
* @WLAN_EV_PCAC_COMPLETED: PreCAC Completed
|
||||
*
|
||||
* DFS events such as radar detected, CAC started,
|
||||
* CAC completed, NOL started, NOL finished
|
||||
*/
|
||||
enum WLAN_DFS_EVENTS {
|
||||
WLAN_EV_RADAR_DETECTED,
|
||||
WLAN_EV_CAC_RESET,
|
||||
WLAN_EV_CAC_STARTED,
|
||||
WLAN_EV_CAC_COMPLETED,
|
||||
WLAN_EV_NOL_STARTED,
|
||||
WLAN_EV_NOL_FINISHED,
|
||||
WLAN_EV_PCAC_STARTED,
|
||||
WLAN_EV_PCAC_COMPLETED,
|
||||
};
|
||||
|
||||
#if defined(WLAN_DFS_PARTIAL_OFFLOAD) && defined(WLAN_DFS_SYNTHETIC_RADAR)
|
||||
|
在新工单中引用
屏蔽一个用户