Bläddra i källkod

qcacmn: Bangradar support for Frequency Hopping Radar

Provide support for bangradar with Frequency hopping radar type
as one of the parameters.
Add the parameter as part of the packed structure to be sent to FW.

Change-Id: I1c366c8f1c2033527bbd74f0ae6219225cafc4ed
CRs-Fixed: 3641574
Thirusenthil Kumaran J 1 år sedan
förälder
incheckning
3227ffab34

+ 2 - 0
umac/dfs/core/src/dfs.h

@@ -1221,6 +1221,7 @@ struct dfs_punc_unpunc {
  * @dfs_is_stadfs_enabled:           Is STADFS enabled.
  * @dfs_seg_id:                      Segment ID of the radar hit channel.
  * @dfs_is_chirp:                    Radar Chirp in pulse present or not.
+ * @dfs_is_fh_pulse:                 Frequency hopping radar present or not.
  * @dfs_bw_reduced:                  DFS bandwidth reduced channel bit.
  * @dfs_freq_offset:                 Frequency offset where radar was found.
  * @dfs_cac_aborted:                 DFS cac is aborted.
@@ -1404,6 +1405,7 @@ struct wlan_dfs {
 	bool           dfs_is_stadfs_enabled;
 	uint8_t        dfs_seg_id;
 	uint8_t        dfs_is_chirp;
+	uint8_t        dfs_is_fh_pulse;
 	bool           dfs_bw_reduced;
 	int32_t        dfs_freq_offset;
 	bool           dfs_cac_aborted;

+ 2 - 0
umac/dfs/dispatcher/inc/wlan_dfs_ioctl.h

@@ -169,6 +169,7 @@ enum dfs_bangradar_types {
  * @is_chirp:       Chirp radar or not.
  * @freq_offset:    Frequency offset at which radar was found.
  * @detector_id:    Detector ID corresponding to primary/agile detectors.
+ * @is_fh_radar:    Frequency Hopping Radar type or not.
  */
 struct dfs_bangradar_params {
 	enum dfs_bangradar_types bangradar_type;
@@ -176,6 +177,7 @@ struct dfs_bangradar_params {
 	uint8_t is_chirp;
 	int32_t freq_offset;
 	uint8_t detector_id;
+	uint8_t is_fh_radar;
 };
 #define DFS_IOCTL_PARAM_NOVAL  65535
 #define DFS_IOCTL_PARAM_ENABLE 0x8000

+ 12 - 8
umac/dfs/dispatcher/inc/wlan_dfs_tgt_api.h

@@ -49,19 +49,21 @@
  *                         2). Chirp information (is chirp or non chirp),
  *                         3). Frequency offset.
  *                         4). Detector ID.
+ *                         5). Frequency Hopping(FH) Radar type
+ *                             (is frequency hopping or not).
  *
  * The packed argument structure is:
  *
- * ------------------------------32 bits arg----------------------------
+ * ------------------------------32 bits arg----------------------------------
  *
- * -------18 bits------|1 bit|--2 bits-|-------8 bits------|1 bit|2 bits|
- * ______________________________________________________________________
- *|                    |     |   | |   | | | | | | | | | | |     |   |   |
- *|---18 Unused bits---|  x  | x | | x |x|x|x| |x|x|x|x| |x|  x  | x | x |
- *|____________________|_____|___|_|___|_|_|_|_|_|_|_|_|_|_|_____|___|___|
+ * -------17 bits------|1 bit|1 bit|--2 bits-|-------8 bits------|1 bit|2 bits|
+ * ____________________________________________________________________________
+ *|                    |     |     |   | |   | | | | | | | | | | |     |   |   |
+ *|---17 Unused bits---|  x  |  x  | x | | x |x|x|x| |x|x|x|x| |x|  x  | x | x |
+ *|____________________|_____|_____|___|_|___|_|_|_|_|_|_|_|_|_|_|_____|___|___|
  *
- *                     |_____|_________|___________________|_____|_______|
- *                      sign   det.ID     freq.offset       Chirp  seg.ID
+ *                     |_____|_____|_________|___________________|_____|_______|
+ *                       FH   sign   det.ID     freq.offset       Chirp  seg.ID
  *
  * @DFS_UNIT_TEST_NUM_ARGS:     Number of arguments for bangradar unit test
  *                              command.
@@ -81,11 +83,13 @@ enum {
 #define FREQ_OFF_SHIFT             3
 #define DET_ID_SHIFT              11
 #define FREQ_OFFSET_SIGNBIT_SHIFT 13
+#define IS_FH_SHIFT               14
 #define SEG_ID_MASK              0x03
 #define IS_CHIRP_MASK            0x01
 #define FREQ_OFFSET_MASK         0xFF
 #define DET_ID_MASK              0x03
 #define FREQ_OFFSET_SIGNBIT_MASK 0x01
+#define IS_FH_MASK               0x01
 
 /**
  * struct dfs_emulate_bang_radar_test_cmd - Unit test command structure to send