qcacld-3.0: Clean up the WMA Context

Clean up the WMA context structure which currently has the following
issues:
1) Fields are defined that are unused
2) Fields are defined that are missing documentation
3) Fields are defined with documentation inline rather than in the
   documentation block
4) Documentation exists for fields that are no longer present

Change-Id: Ia9fb52c3967818c0a12ade7a15f0c353494f56de
CRs-Fixed: 2296105
diff --git a/core/wma/inc/wma.h b/core/wma/inc/wma.h
index 0dfa018..28fabc7 100644
--- a/core/wma/inc/wma.h
+++ b/core/wma/inc/wma.h
@@ -830,12 +830,13 @@
  * @ns_offload_req: cached ns offload request
  * @wow_stats: stat counters for WoW related events
  * @rcpi_req: rcpi request
- * It stores parameters per vdev in wma.
- * @in_bmps : Whether bmps for this interface has been enabled
+ * @in_bmps: Whether bmps for this interface has been enabled
  * @vdev_start_wakelock: wakelock to protect vdev start op with firmware
  * @vdev_stop_wakelock: wakelock to protect vdev stop op with firmware
  * @vdev_set_key_wakelock: wakelock to protect vdev set key op with firmware
  * @channel: channel
+ *
+ * It stores parameters per vdev in wma.
  */
 struct wma_txrx_node {
 	uint8_t addr[IEEE80211_ADDR_LEN];
@@ -985,6 +986,7 @@
  * @cds_context: cds handle
  * @mac_context: mac context
  * @psoc: psoc context
+ * @pdev: physical device global object
  * @wma_resume_event: wma resume event
  * @target_suspend: target suspend event
  * @recovery_event: wma FW recovery event
@@ -993,23 +995,23 @@
  * @myaddr: current mac address
  * @hwaddr: mac address from EEPROM
  * @lpss_support: LPSS feature is supported in target or not
- * @egap_support: Enhanced Green AP support flag
  * @wmi_ready: wmi status flag
  * @wlan_init_status: wlan init status
  * @qdf_dev: qdf device
  * @wmi_service_bitmap: wmi services bitmap received from Target
- * @frameTransRequired: frame transmission required
- * @wmaGlobalSystemRole: global system role
+ * @wmi_service_ext_bitmap: extended wmi services bitmap received from Target
  * @tx_frm_download_comp_cb: Tx Frame Compl Cb registered by umac
  * @tx_frm_download_comp_event: Event to wait for tx download completion
- * @tx_queue_empty_event: wait for tx queue to get flushed
+ * @tx_queue_empty_event: Dummy event to wait for draining MSDUs left
+ *   in hardware tx queue and before requesting VDEV_STOP. Nobody will
+ *   set this and wait will timeout, and code will poll the pending tx
+ *   descriptors number to be zero.
  * @umac_ota_ack_cb: Ack Complete Callback registered by umac
  * @umac_data_ota_ack_cb: ack complete callback
- * @last_umac_data_ota_timestamp: timestamp when OTA of last umac data was done
+ * @last_umac_data_ota_timestamp: timestamp when OTA of last umac data
+ *   was done
  * @last_umac_data_nbuf: cache nbuf ptr for the last umac data buf
  * @needShutdown: is shutdown needed or not
- * @num_mem_chunks: number of memory chunk
- * @mem_chunks: memory chunks
  * @tgt_cfg_update_cb: configuration update callback
  * @reg_cap: regulatory capablities
  * @scan_id: scan id
@@ -1017,23 +1019,28 @@
  * @pdevconfig: pdev related configrations
  * @vdev_resp_queue: vdev response queue
  * @vdev_respq_lock: vdev response queue lock
+ * @wma_hold_req_queue: Queue use to serialize requests to firmware
+ * @wma_hold_req_q_lock: Mutex for @wma_hold_req_queue
  * @vht_supp_mcs: VHT supported MCS
  * @is_fw_assert: is fw asserted
  * @wow: wow related patterns & parameters
  * @no_of_suspend_ind: number of suspend indications
  * @no_of_resume_ind: number of resume indications
- * @mArpInfo: arp info
+ * @ack_work_ctx: Context for deferred processing of TX ACK
  * @powersave_mode: power save mode
  * @ptrn_match_enable_all_vdev: is pattern match is enable/disable
  * @pGetRssiReq: get RSSI request
+ * @get_one_peer_info: When a "get peer info" request is active, is
+ *   the request for a single peer?
+ * @get_sta_peer_info: Is a "get peer info" request active?
+ * @peer_macaddr: When @get_one_peer_info is true, the peer's mac address
  * @thermal_mgmt_info: Thermal mitigation related info
  * @roam_offload_enabled: is roam offload enable/disable
  * @ssdp: ssdp flag
- * @enable_mc_list : To Check if Multicast list filtering is enabled in FW
+ * @enable_mc_list: To Check if Multicast list filtering is enabled in FW
  * @ibss_started: is IBSS started or not
  * @ibsskey_info: IBSS key info
  * @hddTxFailCb: tx fail indication callback
- * @pno_wake_lock: PNO wake lock
  * @extscan_wake_lock: extscan wake lock
  * @wow_wake_lock: wow wake lock
  * @wow_auth_req_wl: wow wake lock for auth req
@@ -1044,12 +1051,11 @@
  * @wow_auto_shutdown_wl: wow wake lock for shutdown req
  * @roam_ho_wl: wake lock for roam handoff req
  * @wow_nack: wow negative ack flag
- * @ap_client_cnt: ap client count
  * @is_wow_bus_suspended: is wow bus suspended flag
  * @wma_scan_comp_timer: scan completion timer
  * @suitable_ap_hb_failure: better ap found
- * @suitable_ap_hb_failure_rssi: record the RSSI when suitable_ap_hb_failure
- * for later usage to report RSSI at beacon miss scenario
+ * @suitable_ap_hb_failure_rssi: RSSI when suitable_ap_hb_failure
+ *   triggered for later usage to report RSSI at beacon miss scenario
  * @wma_ibss_power_save_params: IBSS Power Save config Parameters
  * @IsRArateLimitEnabled: RA rate limiti s enabled or not
  * @RArateLimitInterval: RA rate limit interval
@@ -1062,50 +1068,66 @@
  * @last_mhf_entries_timestamp: timestamp when last entries where set
  * @hw_bd_id: hardware board id
  * @hw_bd_info: hardware board info
- * @in_d0wow: D0WOW is enable/disable
  * @miracast_value: miracast value
  * @log_completion_timer: log completion timer
  * @num_dbs_hw_modes: Number of HW modes supported by the FW
- * @dbs_mode: DBS HW mode list
+ * @hw_mode: DBS HW mode list
  * @old_hw_mode_index: Previous configured HW mode index
  * @new_hw_mode_index: Current configured HW mode index
- * @extended_caps phy_caps: extended caps per hw mode
  * @peer_authorized_cb: peer authorized hdd callback
- * @ocb_callback: callback to OCB commands
- * @ocb_resp: response to OCB commands
- * @wow_pno_match_wake_up_count: PNO match wake up count
- * @wow_pno_complete_wake_up_count: PNO complete wake up count
- * @wow_gscan_wake_up_count: Gscan wake up count
- * @wow_low_rssi_wake_up_count: Low rssi wake up count
- * @wow_rssi_breach_wake_up_count: RSSI breach wake up count
- * @wow_ucast_wake_up_count: WoW unicast packet wake up count
- * @wow_bcast_wake_up_count: WoW brodcast packet wake up count
- * @wow_ipv4_mcast_wake_up_count: WoW IPV4 mcast packet wake up count
- * @wow_ipv6_mcast_wake_up_count: WoW IPV6 mcast packet wake up count
- * @wow_ipv6_mcast_ra_stats: WoW IPV6 mcast RA packet wake up count
- * @wow_ipv6_mcast_ns_stats: WoW IPV6 mcast NS packet wake up count
- * @wow_ipv6_mcast_na_stats: WoW IPV6 mcast NA packet wake up count
- * @wow_icmpv4_count: WoW ipv4 icmp packet wake up count
- * @wow_icmpv6_count: WoW ipv6 icmp packet wake up count
- * @dual_mac_cfg: Dual mac configuration params for scan and fw mode
- *
+ * @wow_unspecified_wake_count: Number of wake events which did not
+ *   correspond to known wake events. Note that known wake events are
+ *   tracked on a per-vdev basis via the struct sir_vdev_wow_stats
+ *   wow_stats in struct wma_txrx_node
+ * @ocb_config_req: OCB request context
  * @max_scan:  maximum scan requests than can be queued
- * This structure is global wma context
- * It contains global wma module parameters and
- * handle of other modules.
- * @apf_packet_filter_enable: APF filter enabled or not
- * @active_uc_apf_mode: Setting that determines how APF is applied in active
- * mode for uc packets
- * @active_mc_bc_apf_mode: Setting that determines how APF is applied in
- * active mode for MC/BC packets
- * @service_ready_ext_evt: Wait event for service ready ext
+ * @self_gen_frm_pwr: Self-generated frame power
+ * @tx_chain_mask_cck: Is the CCK tx chain mask enabled
+ * @service_ready_ext_timer: Timer for service ready extended.  Note
+ *   this is a a timer instead of wait event because on receiving the
+ *   service ready event, we will be waiting on the MC thread for the
+ *   service extended ready event which is also processed in MC
+ *   thread.  This leads to MC thread being stuck. Alternative was to
+ *   process these events in tasklet/workqueue context. But, this
+ *   leads to race conditions when the events are processed in two
+ *   different context. So, processing ready event and extended ready
+ *   event in the serialized MC thread context with a timer.
+ * @csr_roam_synch_cb: CSR callback for firmware Roam Sync events
+ * @pe_roam_synch_cb: pe callback for firmware Roam Sync events
  * @wmi_cmd_rsp_wake_lock: wmi command response wake lock
  * @wmi_cmd_rsp_runtime_lock: wmi command response bus lock
- * @saved_chan: saved channel list sent as part of WMI_SCAN_CHAN_LIST_CMDID
- * @is_dfs_offloaded: dfs and cac timer offload
+ * @apf_enabled: Is APF enabled in firmware?
+ * @apf_packet_filter_enable: Is APF filter enabled om host?
+ * @active_uc_apf_mode: Setting that determines how APF is applied in
+ *   active mode for uc packets
+ * @active_mc_bc_apf_mode: Setting that determines how APF is applied in
+ *   active mode for MC/BC packets
+ * @ini_config: Initial configuration from upper layer
+ * @saved_chan: saved channel list sent as part of
+ *   WMI_SCAN_CHAN_LIST_CMDID
+ * @nan_datapath_enabled: Is NAN datapath support enabled in firmware?
+ * @pe_ndp_event_handler: Handler function for NAN Data Path events
+ * @fw_timeout_crash: Should firmware be reset upon response timeout?
+ * @sub_20_support: Does target support sub-20MHz bandwidth (aka
+ *   half-rate and quarter-rate)?
+ * @is_dfs_offloaded: Is dfs and cac timer offloaded?
+ * @wma_mgmt_tx_packetdump_cb: Callback function for TX packet dump
+ * @wma_mgmt_rx_packetdump_cb: Callback function for RX packet dump
+ * @rcpi_enabled: Is RCPI enabled?
+ * @link_stats_results: Structure for handing link stats from firmware
+ * @tx_fail_cnt: Number of TX failures
+ * @he_cap: 802.11ax capabilities
  * @bandcapability: band capability configured through ini
+ * @tx_bfee_8ss_enabled: Is Tx Beamformee support for 8x8 enabled?
+ * @in_imps: Is device in Idle Mode Power Save?
  * @ito_repeat_count: Indicates ito repeated count
- * @critical_events_in_flight: number of suspend preventing events in flight
+ * @wma_fw_time_sync_timer: timer used for firmware time sync
+ * @critical_events_in_flight: number of suspend-preventing events
+ *   in flight
+ *
+ * This structure is the global wma context.  It contains global wma
+ * module parameters and handles of other modules.
+
  */
 typedef struct {
 	void *wmi_handle;
@@ -1129,26 +1151,16 @@
 	uint32_t wlan_init_status;
 	qdf_device_t qdf_dev;
 	uint32_t wmi_service_bitmap[WMI_SERVICE_BM_SIZE];
-	uint32_t wmi_service_ext_offset;
 	uint32_t wmi_service_ext_bitmap[WMI_SERVICE_SEGMENT_BM_SIZE32];
-	uint32_t frameTransRequired;
-	tBssSystemRole wmaGlobalSystemRole;
 	wma_tx_dwnld_comp_callback tx_frm_download_comp_cb;
 	qdf_event_t tx_frm_download_comp_event;
-	/*
-	 * Dummy event to wait for draining MSDUs left in hardware tx
-	 * queue and before requesting VDEV_STOP. Nobody will set this
-	 * and wait will timeout, and code will poll the pending tx
-	 * descriptors number to be zero.
-	 */
 	qdf_event_t tx_queue_empty_event;
-	wma_tx_ota_comp_callback umac_ota_ack_cb[SIR_MAC_MGMT_RESERVED15];
+	wma_tx_ota_comp_callback
+				umac_ota_ack_cb[SIR_MAC_MGMT_RESERVED15];
 	wma_tx_ota_comp_callback umac_data_ota_ack_cb;
 	unsigned long last_umac_data_ota_timestamp;
 	qdf_nbuf_t last_umac_data_nbuf;
 	bool needShutdown;
-	uint32_t num_mem_chunks;
-	struct wmi_host_mem_chunk mem_chunks[MAX_MEM_CHUNKS];
 	wma_tgt_cfg_cb tgt_cfg_update_cb;
 	HAL_REG_CAPABILITIES reg_cap;
 	uint32_t scan_id;
@@ -1163,10 +1175,6 @@
 	struct wma_wow wow;
 	uint8_t no_of_suspend_ind;
 	uint8_t no_of_resume_ind;
-	/* Have a back up of arp info to send along
-	 * with ns info suppose if ns also enabled
-	 */
-	tSirHostOffloadReq mArpInfo;
 	struct wma_tx_ack_work_ctx *ack_work_ctx;
 	uint8_t powersave_mode;
 	bool ptrn_match_enable_all_vdev;
@@ -1223,21 +1231,10 @@
 	uint32_t new_hw_mode_index;
 	wma_peer_authorized_fp peer_authorized_cb;
 	uint32_t wow_unspecified_wake_count;
-
-	/* OCB request contexts */
 	struct sir_ocb_config *ocb_config_req;
 	uint8_t max_scan;
 	uint16_t self_gen_frm_pwr;
 	bool tx_chain_mask_cck;
-	/* Going with a timer instead of wait event because on receiving the
-	 * service ready event, we will be waiting on the MC thread for the
-	 * service extended ready event which is also processed in MC thread.
-	 * This leads to MC thread being stuck. Alternative was to process
-	 * these events in tasklet/workqueue context. But, this leads to
-	 * race conditions when the events are processed in two different
-	 * context. So, processing ready event and extended ready event in
-	 * the serialized MC thread context with a timer.
-	 */
 	qdf_mc_timer_t service_ready_ext_timer;
 
 	QDF_STATUS (*csr_roam_synch_cb)(tpAniSirGlobal mac,
@@ -1256,7 +1253,6 @@
 	enum active_apf_mode active_mc_bc_apf_mode;
 	struct wma_ini_config ini_config;
 	struct wma_valid_channels saved_chan;
-	/* NAN datapath support enabled in firmware */
 	bool nan_datapath_enabled;
 	QDF_STATUS (*pe_ndp_event_handler)(tpAniSirGlobal mac_ctx,
 					   struct scheduler_msg *msg);