ath10k: handle FW API differences for scan structures
[cascardo/linux.git] / drivers / net / wireless / ath / ath10k / wmi.h
index 80ab2f0..7692c14 100644 (file)
@@ -1715,6 +1715,88 @@ struct wmi_start_scan_cmd {
         */
 } __packed;
 
         */
 } __packed;
 
+/* This is the definition from 10.X firmware branch */
+struct wmi_start_scan_cmd_10x {
+       /* Scan ID */
+       __le32 scan_id;
+
+       /* Scan requestor ID */
+       __le32 scan_req_id;
+
+       /* VDEV id(interface) that is requesting scan */
+       __le32 vdev_id;
+
+       /* Scan Priority, input to scan scheduler */
+       __le32 scan_priority;
+
+       /* Scan events subscription */
+       __le32 notify_scan_events;
+
+       /* dwell time in msec on active channels */
+       __le32 dwell_time_active;
+
+       /* dwell time in msec on passive channels */
+       __le32 dwell_time_passive;
+
+       /*
+        * min time in msec on the BSS channel,only valid if atleast one
+        * VDEV is active
+        */
+       __le32 min_rest_time;
+
+       /*
+        * max rest time in msec on the BSS channel,only valid if at least
+        * one VDEV is active
+        */
+       /*
+        * the scanner will rest on the bss channel at least min_rest_time
+        * after min_rest_time the scanner will start checking for tx/rx
+        * activity on all VDEVs. if there is no activity the scanner will
+        * switch to off channel. if there is activity the scanner will let
+        * the radio on the bss channel until max_rest_time expires.at
+        * max_rest_time scanner will switch to off channel irrespective of
+        * activity. activity is determined by the idle_time parameter.
+        */
+       __le32 max_rest_time;
+
+       /*
+        * time before sending next set of probe requests.
+        * The scanner keeps repeating probe requests transmission with
+        * period specified by repeat_probe_time.
+        * The number of probe requests specified depends on the ssid_list
+        * and bssid_list
+        */
+       __le32 repeat_probe_time;
+
+       /* time in msec between 2 consequetive probe requests with in a set. */
+       __le32 probe_spacing_time;
+
+       /*
+        * data inactivity time in msec on bss channel that will be used by
+        * scanner for measuring the inactivity.
+        */
+       __le32 idle_time;
+
+       /* maximum time in msec allowed for scan  */
+       __le32 max_scan_time;
+
+       /*
+        * delay in msec before sending first probe request after switching
+        * to a channel
+        */
+       __le32 probe_delay;
+
+       /* Scan control flags */
+       __le32 scan_ctrl_flags;
+
+       /*
+        * TLV (tag length value )  paramerters follow the scan_cmd structure.
+        * TLV can contain channel list, bssid list, ssid list and
+        * ie. the TLV tags are defined above;
+        */
+} __packed;
+
+
 struct wmi_ssid_arg {
        int len;
        const u8 *ssid;
 struct wmi_ssid_arg {
        int len;
        const u8 *ssid;