瀏覽代碼

qcacmn: Optimize the scan filter structure using bitfields

Add change to move the existing filter params bool datatypes
into bitfields and also add new filter type to filter candidate
with channel marked as DFS hit.

Change-Id: I4aa5d7342cf7880da20c35eebd99fc72a71b58be
CRs-Fixed: 2746157
Santosh Anbu 4 年之前
父節點
當前提交
3a67ec1735
共有 1 個文件被更改,包括 17 次插入15 次删除
  1. 17 15
      umac/scan/dispatcher/inc/wlan_scan_public_structs.h

+ 17 - 15
umac/scan/dispatcher/inc/wlan_scan_public_structs.h

@@ -470,25 +470,23 @@ struct fils_filter_info {
 /**
  * struct scan_filter: scan filter
  * @enable_adaptive_11r:    flag to check if adaptive 11r ini is enabled
- * @age_threshold: If set return entry which are newer than the age_threshold
  * @rrm_measurement_filter: For measurement reports.if set, only SSID, BSSID
  *                          and channel is considered for filtering.
+ * @ignore_pmf_cap: Ignore pmf capability match
+ * @ignore_auth_enc_type: Ignore enc type if
+ *                        this is set (For WPS/OSEN connection)
+ * @ignore_nol_chan: Ignore entry with channel in the NOL list
+ * @age_threshold: If set return entry which are newer than the age_threshold
  * @num_of_bssid: number of bssid passed
  * @num_of_ssid: number of ssid
  * @num_of_channels: number of  channels
  * @pmf_cap: Pmf capability
- * @ignore_pmf_cap: Ignore pmf capability match
  * @dot11_mode: operating modes 0 mean any
  *              11a , 11g, 11n , 11ac , 11b etc
  * @band: to get specific band 2.4G, 5G or 4.9 G
  * @rssi_threshold: AP having RSSI greater than
  *                  rssi threasholed (ignored if set 0)
- * @ignore_auth_enc_type: Ignore enc type if
- *                        this is set (For WPS/OSEN connection)
  * @mobility_domain: Mobility domain for 11r
- * @bssid_list: bssid list
- * @ssid_list: ssid list
- * @chan_freq_list: channel frequency list, frequency unit: MHz
  * @authmodeset: auth mode
  * @key_mgmt: key management
  * @ucastcipherset: unicast cipher set
@@ -496,25 +494,25 @@ struct fils_filter_info {
  * @mgmtcipherset: mgmt cipher set
  * @fils_scan_filter: FILS info
  * @bssid_hint: Mac address of bssid_hint
+ * @bssid_list: bssid list
+ * @ssid_list: ssid list
+ * @chan_freq_list: channel frequency list, frequency unit: MHz
  */
 struct scan_filter {
-	bool enable_adaptive_11r;
+	uint8_t enable_adaptive_11r:1,
+		rrm_measurement_filter:1,
+		ignore_pmf_cap:1,
+		ignore_auth_enc_type:1,
+		ignore_nol_chan:1;
 	qdf_time_t age_threshold;
-	bool rrm_measurement_filter;
 	uint8_t num_of_bssid;
 	uint8_t num_of_ssid;
 	uint16_t num_of_channels;
 	enum wlan_pmf_cap pmf_cap;
-	bool ignore_pmf_cap;
 	enum wlan_phymode dot11_mode;
 	enum wlan_band band;
 	uint8_t rssi_threshold;
-	bool ignore_auth_enc_type;
 	uint32_t mobility_domain;
-	/* Variable params list */
-	struct qdf_mac_addr bssid_list[WLAN_SCAN_FILTER_NUM_BSSID];
-	struct wlan_ssid ssid_list[WLAN_SCAN_FILTER_NUM_SSID];
-	qdf_freq_t chan_freq_list[NUM_CHANNELS];
 	uint32_t authmodeset;
 	uint32_t key_mgmt;
 	uint32_t ucastcipherset;
@@ -524,6 +522,10 @@ struct scan_filter {
 	struct fils_filter_info fils_scan_filter;
 #endif
 	struct qdf_mac_addr bssid_hint;
+	/* Variable params list */
+	struct qdf_mac_addr bssid_list[WLAN_SCAN_FILTER_NUM_BSSID];
+	struct wlan_ssid ssid_list[WLAN_SCAN_FILTER_NUM_SSID];
+	qdf_freq_t chan_freq_list[NUM_CHANNELS];
 };
 
 /**