Procházet zdrojové kódy

qcacmn: Add obss detection info extract handler

Add hander to extract obss detection info received
from firmware.

Change-Id: I5fde304915a97d37d6cbe58e7a315e91fbac61b6
CRs-Fixed: 2170184
Arif Hussain před 7 roky
rodič
revize
f9f26b5606
3 změnil soubory, kde provedl 49 přidání a 0 odebrání
  1. 18 0
      wmi_unified_api.h
  2. 29 0
      wmi_unified_param.h
  3. 2 0
      wmi_unified_priv.h

+ 18 - 0
wmi_unified_api.h

@@ -1911,4 +1911,22 @@ QDF_STATUS wmi_unified_send_btm_config(void *wmi_hdl,
 
 QDF_STATUS wmi_unified_send_obss_detection_cfg_cmd(void *wmi_hdl,
 			struct wmi_obss_detection_cfg_param *cfg);
+
+/**
+ * wmi_unified_extract_obss_detection_info() - WMI function to extract obss
+ *  detection info from FW.
+ * @wmi_hdl: wmi handle
+ * @data: event data from firmware
+ * @info: Pointer to hold obss detection info
+ *
+ * This function is used to extract obss info from firmware.
+ *
+ * Return: QDF_STATUS
+ */
+
+QDF_STATUS wmi_unified_extract_obss_detection_info(void *wmi_hdl,
+						   uint8_t *data,
+						   struct wmi_obss_detect_info
+						   *info);
+
 #endif /* _WMI_UNIFIED_API_H_ */

+ 29 - 0
wmi_unified_param.h

@@ -8297,4 +8297,33 @@ struct wmi_obss_detection_cfg_param {
 	uint32_t obss_ht_20mhz_detect_mode;
 };
 
+/**
+ * enum sap_obss_detection_reason - obss detection event reasons
+ * @OBSS_OFFLOAD_DETECTION_DISABLED: OBSS detection disabled
+ * @OBSS_OFFLOAD_DETECTION_PRESENT: OBSS present detection
+ * @OBSS_OFFLOAD_DETECTION_ABSENT: OBSS absent detection
+ *
+ * Defines different types of reasons for obss detection event from firmware.
+ */
+enum wmi_obss_detection_reason {
+	OBSS_OFFLOAD_DETECTION_DISABLED = 0,
+	OBSS_OFFLOAD_DETECTION_PRESENT  = 1,
+	OBSS_OFFLOAD_DETECTION_ABSENT   = 2,
+};
+
+/**
+ * struct wmi_obss_detect_info - OBSS detection info from firmware
+ * @vdev_id: IDof the vdev to which this info belongs.
+ * @reason: Indicate if present or Absent detection,
+ *          also if not supported offload for this vdev.
+ * @matched_detection_masks: Detection bit map.
+ * @matched_bssid_addr: MAC address valid for only if info is present detection.
+ */
+struct wmi_obss_detect_info {
+	uint32_t vdev_id;
+	enum wmi_obss_detection_reason reason;
+	uint32_t matched_detection_masks;
+	uint8_t matched_bssid_addr[IEEE80211_ADDR_LEN];
+};
+
 #endif /* _WMI_UNIFIED_PARAM_H_ */

+ 2 - 0
wmi_unified_priv.h

@@ -1496,6 +1496,8 @@ QDF_STATUS (*send_btm_config)(wmi_unified_t wmi_handle,
 			      struct wmi_btm_config *params);
 QDF_STATUS (*send_obss_detection_cfg_cmd)(wmi_unified_t wmi_handle,
 		struct wmi_obss_detection_cfg_param *obss_cfg_param);
+QDF_STATUS (*extract_obss_detection_info)(uint8_t *evt_buf,
+					  struct wmi_obss_detect_info *info);
 };
 
 /* Forward declartion for psoc*/