diff options
author | Bartosz Markowski <bartosz.markowski@tieto.com> | 2013-09-26 11:47:06 -0400 |
---|---|---|
committer | Kalle Valo <kvalo@qca.qualcomm.com> | 2013-09-27 07:58:13 -0400 |
commit | b7e3adf907f92c2749d2a8b32bff950c2a90b3fb (patch) | |
tree | 11b491f6c9bd8c245b110993c0673285f37ac3bb /drivers/net/wireless/ath/ath10k/wmi.c | |
parent | ce42870efbf186523c2998478a444254fc280956 (diff) |
ath10k: add wmi_10x_<cmd/event> definitions
Introduce the cmd and events definitions for 10.X FW API
and make up the wmi_10x_cmd_map. This is the core of
host-firmware WMI interface for 10.X FW branch.
Signed-off-by: Bartosz Markowski <bartosz.markowski@tieto.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
Diffstat (limited to 'drivers/net/wireless/ath/ath10k/wmi.c')
-rw-r--r-- | drivers/net/wireless/ath/ath10k/wmi.c | 126 |
1 files changed, 124 insertions, 2 deletions
diff --git a/drivers/net/wireless/ath/ath10k/wmi.c b/drivers/net/wireless/ath/ath10k/wmi.c index 1296dbe7d179..cfb208244999 100644 --- a/drivers/net/wireless/ath/ath10k/wmi.c +++ b/drivers/net/wireless/ath/ath10k/wmi.c | |||
@@ -143,7 +143,127 @@ static struct wmi_cmd_map wmi_cmd_map = { | |||
143 | .gpio_output_cmdid = WMI_GPIO_OUTPUT_CMDID, | 143 | .gpio_output_cmdid = WMI_GPIO_OUTPUT_CMDID, |
144 | }; | 144 | }; |
145 | 145 | ||
146 | /* TODO: 10.X WMI cmd track */ | 146 | /* 10.X WMI cmd track */ |
147 | static struct wmi_cmd_map wmi_10x_cmd_map = { | ||
148 | .init_cmdid = WMI_10X_INIT_CMDID, | ||
149 | .start_scan_cmdid = WMI_10X_START_SCAN_CMDID, | ||
150 | .stop_scan_cmdid = WMI_10X_STOP_SCAN_CMDID, | ||
151 | .scan_chan_list_cmdid = WMI_10X_SCAN_CHAN_LIST_CMDID, | ||
152 | .scan_sch_prio_tbl_cmdid = WMI_CMD_UNDEFINED, | ||
153 | .pdev_set_regdomain_cmdid = WMI_10X_PDEV_SET_REGDOMAIN_CMDID, | ||
154 | .pdev_set_channel_cmdid = WMI_10X_PDEV_SET_CHANNEL_CMDID, | ||
155 | .pdev_set_param_cmdid = WMI_10X_PDEV_SET_PARAM_CMDID, | ||
156 | .pdev_pktlog_enable_cmdid = WMI_10X_PDEV_PKTLOG_ENABLE_CMDID, | ||
157 | .pdev_pktlog_disable_cmdid = WMI_10X_PDEV_PKTLOG_DISABLE_CMDID, | ||
158 | .pdev_set_wmm_params_cmdid = WMI_10X_PDEV_SET_WMM_PARAMS_CMDID, | ||
159 | .pdev_set_ht_cap_ie_cmdid = WMI_10X_PDEV_SET_HT_CAP_IE_CMDID, | ||
160 | .pdev_set_vht_cap_ie_cmdid = WMI_10X_PDEV_SET_VHT_CAP_IE_CMDID, | ||
161 | .pdev_set_dscp_tid_map_cmdid = WMI_10X_PDEV_SET_DSCP_TID_MAP_CMDID, | ||
162 | .pdev_set_quiet_mode_cmdid = WMI_10X_PDEV_SET_QUIET_MODE_CMDID, | ||
163 | .pdev_green_ap_ps_enable_cmdid = WMI_10X_PDEV_GREEN_AP_PS_ENABLE_CMDID, | ||
164 | .pdev_get_tpc_config_cmdid = WMI_10X_PDEV_GET_TPC_CONFIG_CMDID, | ||
165 | .pdev_set_base_macaddr_cmdid = WMI_10X_PDEV_SET_BASE_MACADDR_CMDID, | ||
166 | .vdev_create_cmdid = WMI_10X_VDEV_CREATE_CMDID, | ||
167 | .vdev_delete_cmdid = WMI_10X_VDEV_DELETE_CMDID, | ||
168 | .vdev_start_request_cmdid = WMI_10X_VDEV_START_REQUEST_CMDID, | ||
169 | .vdev_restart_request_cmdid = WMI_10X_VDEV_RESTART_REQUEST_CMDID, | ||
170 | .vdev_up_cmdid = WMI_10X_VDEV_UP_CMDID, | ||
171 | .vdev_stop_cmdid = WMI_10X_VDEV_STOP_CMDID, | ||
172 | .vdev_down_cmdid = WMI_10X_VDEV_DOWN_CMDID, | ||
173 | .vdev_set_param_cmdid = WMI_10X_VDEV_SET_PARAM_CMDID, | ||
174 | .vdev_install_key_cmdid = WMI_10X_VDEV_INSTALL_KEY_CMDID, | ||
175 | .peer_create_cmdid = WMI_10X_PEER_CREATE_CMDID, | ||
176 | .peer_delete_cmdid = WMI_10X_PEER_DELETE_CMDID, | ||
177 | .peer_flush_tids_cmdid = WMI_10X_PEER_FLUSH_TIDS_CMDID, | ||
178 | .peer_set_param_cmdid = WMI_10X_PEER_SET_PARAM_CMDID, | ||
179 | .peer_assoc_cmdid = WMI_10X_PEER_ASSOC_CMDID, | ||
180 | .peer_add_wds_entry_cmdid = WMI_10X_PEER_ADD_WDS_ENTRY_CMDID, | ||
181 | .peer_remove_wds_entry_cmdid = WMI_10X_PEER_REMOVE_WDS_ENTRY_CMDID, | ||
182 | .peer_mcast_group_cmdid = WMI_10X_PEER_MCAST_GROUP_CMDID, | ||
183 | .bcn_tx_cmdid = WMI_10X_BCN_TX_CMDID, | ||
184 | .pdev_send_bcn_cmdid = WMI_10X_PDEV_SEND_BCN_CMDID, | ||
185 | .bcn_tmpl_cmdid = WMI_CMD_UNDEFINED, | ||
186 | .bcn_filter_rx_cmdid = WMI_10X_BCN_FILTER_RX_CMDID, | ||
187 | .prb_req_filter_rx_cmdid = WMI_10X_PRB_REQ_FILTER_RX_CMDID, | ||
188 | .mgmt_tx_cmdid = WMI_10X_MGMT_TX_CMDID, | ||
189 | .prb_tmpl_cmdid = WMI_CMD_UNDEFINED, | ||
190 | .addba_clear_resp_cmdid = WMI_10X_ADDBA_CLEAR_RESP_CMDID, | ||
191 | .addba_send_cmdid = WMI_10X_ADDBA_SEND_CMDID, | ||
192 | .addba_status_cmdid = WMI_10X_ADDBA_STATUS_CMDID, | ||
193 | .delba_send_cmdid = WMI_10X_DELBA_SEND_CMDID, | ||
194 | .addba_set_resp_cmdid = WMI_10X_ADDBA_SET_RESP_CMDID, | ||
195 | .send_singleamsdu_cmdid = WMI_10X_SEND_SINGLEAMSDU_CMDID, | ||
196 | .sta_powersave_mode_cmdid = WMI_10X_STA_POWERSAVE_MODE_CMDID, | ||
197 | .sta_powersave_param_cmdid = WMI_10X_STA_POWERSAVE_PARAM_CMDID, | ||
198 | .sta_mimo_ps_mode_cmdid = WMI_10X_STA_MIMO_PS_MODE_CMDID, | ||
199 | .pdev_dfs_enable_cmdid = WMI_10X_PDEV_DFS_ENABLE_CMDID, | ||
200 | .pdev_dfs_disable_cmdid = WMI_10X_PDEV_DFS_DISABLE_CMDID, | ||
201 | .roam_scan_mode = WMI_10X_ROAM_SCAN_MODE, | ||
202 | .roam_scan_rssi_threshold = WMI_10X_ROAM_SCAN_RSSI_THRESHOLD, | ||
203 | .roam_scan_period = WMI_10X_ROAM_SCAN_PERIOD, | ||
204 | .roam_scan_rssi_change_threshold = | ||
205 | WMI_10X_ROAM_SCAN_RSSI_CHANGE_THRESHOLD, | ||
206 | .roam_ap_profile = WMI_10X_ROAM_AP_PROFILE, | ||
207 | .ofl_scan_add_ap_profile = WMI_10X_OFL_SCAN_ADD_AP_PROFILE, | ||
208 | .ofl_scan_remove_ap_profile = WMI_10X_OFL_SCAN_REMOVE_AP_PROFILE, | ||
209 | .ofl_scan_period = WMI_10X_OFL_SCAN_PERIOD, | ||
210 | .p2p_dev_set_device_info = WMI_10X_P2P_DEV_SET_DEVICE_INFO, | ||
211 | .p2p_dev_set_discoverability = WMI_10X_P2P_DEV_SET_DISCOVERABILITY, | ||
212 | .p2p_go_set_beacon_ie = WMI_10X_P2P_GO_SET_BEACON_IE, | ||
213 | .p2p_go_set_probe_resp_ie = WMI_10X_P2P_GO_SET_PROBE_RESP_IE, | ||
214 | .p2p_set_vendor_ie_data_cmdid = WMI_CMD_UNDEFINED, | ||
215 | .ap_ps_peer_param_cmdid = WMI_CMD_UNDEFINED, | ||
216 | .ap_ps_peer_uapsd_coex_cmdid = WMI_CMD_UNDEFINED, | ||
217 | .peer_rate_retry_sched_cmdid = WMI_10X_PEER_RATE_RETRY_SCHED_CMDID, | ||
218 | .wlan_profile_trigger_cmdid = WMI_10X_WLAN_PROFILE_TRIGGER_CMDID, | ||
219 | .wlan_profile_set_hist_intvl_cmdid = | ||
220 | WMI_10X_WLAN_PROFILE_SET_HIST_INTVL_CMDID, | ||
221 | .wlan_profile_get_profile_data_cmdid = | ||
222 | WMI_10X_WLAN_PROFILE_GET_PROFILE_DATA_CMDID, | ||
223 | .wlan_profile_enable_profile_id_cmdid = | ||
224 | WMI_10X_WLAN_PROFILE_ENABLE_PROFILE_ID_CMDID, | ||
225 | .wlan_profile_list_profile_id_cmdid = | ||
226 | WMI_10X_WLAN_PROFILE_LIST_PROFILE_ID_CMDID, | ||
227 | .pdev_suspend_cmdid = WMI_10X_PDEV_SUSPEND_CMDID, | ||
228 | .pdev_resume_cmdid = WMI_10X_PDEV_RESUME_CMDID, | ||
229 | .add_bcn_filter_cmdid = WMI_10X_ADD_BCN_FILTER_CMDID, | ||
230 | .rmv_bcn_filter_cmdid = WMI_10X_RMV_BCN_FILTER_CMDID, | ||
231 | .wow_add_wake_pattern_cmdid = WMI_10X_WOW_ADD_WAKE_PATTERN_CMDID, | ||
232 | .wow_del_wake_pattern_cmdid = WMI_10X_WOW_DEL_WAKE_PATTERN_CMDID, | ||
233 | .wow_enable_disable_wake_event_cmdid = | ||
234 | WMI_10X_WOW_ENABLE_DISABLE_WAKE_EVENT_CMDID, | ||
235 | .wow_enable_cmdid = WMI_10X_WOW_ENABLE_CMDID, | ||
236 | .wow_hostwakeup_from_sleep_cmdid = | ||
237 | WMI_10X_WOW_HOSTWAKEUP_FROM_SLEEP_CMDID, | ||
238 | .rtt_measreq_cmdid = WMI_10X_RTT_MEASREQ_CMDID, | ||
239 | .rtt_tsf_cmdid = WMI_10X_RTT_TSF_CMDID, | ||
240 | .vdev_spectral_scan_configure_cmdid = | ||
241 | WMI_10X_VDEV_SPECTRAL_SCAN_CONFIGURE_CMDID, | ||
242 | .vdev_spectral_scan_enable_cmdid = | ||
243 | WMI_10X_VDEV_SPECTRAL_SCAN_ENABLE_CMDID, | ||
244 | .request_stats_cmdid = WMI_10X_REQUEST_STATS_CMDID, | ||
245 | .set_arp_ns_offload_cmdid = WMI_CMD_UNDEFINED, | ||
246 | .network_list_offload_config_cmdid = WMI_CMD_UNDEFINED, | ||
247 | .gtk_offload_cmdid = WMI_CMD_UNDEFINED, | ||
248 | .csa_offload_enable_cmdid = WMI_CMD_UNDEFINED, | ||
249 | .csa_offload_chanswitch_cmdid = WMI_CMD_UNDEFINED, | ||
250 | .chatter_set_mode_cmdid = WMI_CMD_UNDEFINED, | ||
251 | .peer_tid_addba_cmdid = WMI_CMD_UNDEFINED, | ||
252 | .peer_tid_delba_cmdid = WMI_CMD_UNDEFINED, | ||
253 | .sta_dtim_ps_method_cmdid = WMI_CMD_UNDEFINED, | ||
254 | .sta_uapsd_auto_trig_cmdid = WMI_CMD_UNDEFINED, | ||
255 | .sta_keepalive_cmd = WMI_CMD_UNDEFINED, | ||
256 | .echo_cmdid = WMI_10X_ECHO_CMDID, | ||
257 | .pdev_utf_cmdid = WMI_10X_PDEV_UTF_CMDID, | ||
258 | .dbglog_cfg_cmdid = WMI_10X_DBGLOG_CFG_CMDID, | ||
259 | .pdev_qvit_cmdid = WMI_10X_PDEV_QVIT_CMDID, | ||
260 | .pdev_ftm_intg_cmdid = WMI_CMD_UNDEFINED, | ||
261 | .vdev_set_keepalive_cmdid = WMI_CMD_UNDEFINED, | ||
262 | .vdev_get_keepalive_cmdid = WMI_CMD_UNDEFINED, | ||
263 | .force_fw_hang_cmdid = WMI_CMD_UNDEFINED, | ||
264 | .gpio_config_cmdid = WMI_10X_GPIO_CONFIG_CMDID, | ||
265 | .gpio_output_cmdid = WMI_10X_GPIO_OUTPUT_CMDID, | ||
266 | }; | ||
147 | 267 | ||
148 | int ath10k_wmi_wait_for_service_ready(struct ath10k *ar) | 268 | int ath10k_wmi_wait_for_service_ready(struct ath10k *ar) |
149 | { | 269 | { |
@@ -1307,13 +1427,15 @@ static void ath10k_wmi_process_rx(struct ath10k *ar, struct sk_buff *skb) | |||
1307 | /* WMI Initialization functions */ | 1427 | /* WMI Initialization functions */ |
1308 | int ath10k_wmi_attach(struct ath10k *ar) | 1428 | int ath10k_wmi_attach(struct ath10k *ar) |
1309 | { | 1429 | { |
1310 | int ret = 0; | 1430 | int ret; |
1311 | 1431 | ||
1312 | if (test_bit(ATH10K_FW_FEATURE_WMI_10X, ar->fw_features)) { | 1432 | if (test_bit(ATH10K_FW_FEATURE_WMI_10X, ar->fw_features)) { |
1313 | ath10k_warn("Firmware 10.X is not yet supported\n"); | 1433 | ath10k_warn("Firmware 10.X is not yet supported\n"); |
1434 | ar->wmi.cmd = &wmi_10x_cmd_map; | ||
1314 | ret = -ENOTSUPP; | 1435 | ret = -ENOTSUPP; |
1315 | } else { | 1436 | } else { |
1316 | ar->wmi.cmd = &wmi_cmd_map; | 1437 | ar->wmi.cmd = &wmi_cmd_map; |
1438 | ret = 0; | ||
1317 | } | 1439 | } |
1318 | 1440 | ||
1319 | init_completion(&ar->wmi.service_ready); | 1441 | init_completion(&ar->wmi.service_ready); |