qcacmn: DFS API support for Rolling CAC
An extension of preCAC feature is Rolling CAC. The distinct difference between these features is that the FW runs the off channel CAC timer for a "finite" time for preCAC and runs the timer for "infinite" time on an off channel. Hence the infrastructure built for preCAC feature is being modified to accommodate RCAC feature as well. Following are the modifications done: 1. Add an enum to represent various off-channel CAC modes. 2. Remove the 'static' declaration of few APIS so as to re-use them. 3. Add 'dfs_rcac_ch_params' to DFS PDEV object to store the RCAC channel params so as to use the channel params after radar detect. 4. Rename DFS APIs to match its functionality. CRs-Fixed: 2670419 Change-Id: I0bf0d33955706941cffb4e9cf6fcebfb465a6c74
This commit is contained in:

committato da
nshrivas

parent
87dac440fd
commit
4c6b5c6f69
@@ -125,6 +125,22 @@ struct dfs_radar_found_params {
|
||||
u_int32_t sidx_max;
|
||||
};
|
||||
|
||||
/**
|
||||
* enum adfs_ocac_mode - Various Off-Channel CAC modes.
|
||||
* @QUICK_OCAC_MODE: Used for OCAC where the CAC timeout value is finite.
|
||||
* This is also known as PreCAC.
|
||||
* @EXTENSIVE_OCAC: Extensive OCAC.
|
||||
* @QUICK_RCAC_MODE: Used for RollingCAC where the timeout value is assumed to
|
||||
* be infinite by the Firmware code, that is, the FW has to
|
||||
* be on the agile channel until host stop/aborts the agile
|
||||
* CAC.
|
||||
*/
|
||||
enum adfs_ocac_mode {
|
||||
QUICK_OCAC_MODE = 0,
|
||||
EXTENSIVE_OCAC_MODE,
|
||||
QUICK_RCAC_MODE,
|
||||
};
|
||||
|
||||
/**
|
||||
* struct dfs_agile_cac_params - Agile DFS-CAC parameters.
|
||||
* @precac_chan: Agile preCAC channel.
|
||||
@@ -137,6 +153,7 @@ struct dfs_radar_found_params {
|
||||
* @precac_chwidth: Agile preCAC channel width.
|
||||
* @min_precac_timeout: Minimum agile preCAC timeout.
|
||||
* @max_precac_timeout: Maximum agile preCAC timeout.
|
||||
* @ocac_mode: Off-Channel CAC mode.
|
||||
*/
|
||||
struct dfs_agile_cac_params {
|
||||
uint8_t precac_chan;
|
||||
@@ -145,5 +162,6 @@ struct dfs_agile_cac_params {
|
||||
enum phy_ch_width precac_chwidth;
|
||||
uint32_t min_precac_timeout;
|
||||
uint32_t max_precac_timeout;
|
||||
enum adfs_ocac_mode ocac_mode;
|
||||
};
|
||||
#endif
|
||||
|
Fai riferimento in un nuovo problema
Block a user