wmi_unified_tlv.h 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179
  1. /*
  2. * Copyright (c) 2016 The Linux Foundation. All rights reserved.
  3. *
  4. * Previously licensed under the ISC license by Qualcomm Atheros, Inc.
  5. *
  6. *
  7. * Permission to use, copy, modify, and/or distribute this software for
  8. * any purpose with or without fee is hereby granted, provided that the
  9. * above copyright notice and this permission notice appear in all
  10. * copies.
  11. *
  12. * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
  13. * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
  14. * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
  15. * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
  16. * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
  17. * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
  18. * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
  19. * PERFORMANCE OF THIS SOFTWARE.
  20. */
  21. /*
  22. * This file was originally distributed by Qualcomm Atheros, Inc.
  23. * under proprietary terms before Copyright ownership was assigned
  24. * to the Linux Foundation.
  25. */
  26. #ifndef _WMI_UNIFIED_TLV_H_
  27. #define _WMI_UNIFIED_TLV_H_
  28. #include <osdep.h>
  29. #include "a_types.h"
  30. #include "wmi_unified_param.h"
  31. #include "ol_defines.h" /* Fix Me: wmi_unified_t structure definition */
  32. int32_t send_vdev_create_cmd_tlv(wmi_unified_t wmi_handle,
  33. uint8_t macaddr[IEEE80211_ADDR_LEN],
  34. struct vdev_create_params *param);
  35. int32_t send_vdev_delete_cmd_tlv(wmi_unified_t wmi_handle,
  36. uint8_t if_id);
  37. int32_t send_vdev_stop_cmd_tlv(wmi_unified_t wmi,
  38. uint8_t vdev_id);
  39. int32_t send_vdev_down_cmd_tlv(wmi_unified_t wmi,
  40. uint8_t vdev_id);
  41. int32_t send_peer_flush_tids_cmd_tlv(wmi_unified_t wmi,
  42. uint8_t peer_addr[IEEE80211_ADDR_LEN],
  43. struct peer_flush_params *param);
  44. int32_t send_peer_delete_cmd_tlv(wmi_unified_t wmi,
  45. uint8_t peer_addr[IEEE80211_ADDR_LEN],
  46. uint8_t vdev_id);
  47. int32_t send_peer_param_cmd_tlv(wmi_unified_t wmi,
  48. uint8_t peer_addr[IEEE80211_ADDR_LEN],
  49. struct peer_set_params *param);
  50. int32_t send_vdev_up_cmd_tlv(wmi_unified_t wmi,
  51. uint8_t bssid[IEEE80211_ADDR_LEN],
  52. struct vdev_up_params *params);
  53. int32_t send_peer_create_cmd_tlv(wmi_unified_t wmi,
  54. struct peer_create_params *param);
  55. int32_t send_green_ap_ps_cmd_tlv(wmi_unified_t wmi_handle,
  56. uint32_t value, uint8_t mac_id);
  57. int32_t
  58. send_pdev_utf_cmd_tlv(wmi_unified_t wmi_handle,
  59. struct pdev_utf_params *param,
  60. uint8_t mac_id);
  61. int32_t
  62. send_pdev_param_cmd_tlv(wmi_unified_t wmi_handle,
  63. struct pdev_params *param,
  64. uint8_t mac_id);
  65. int32_t send_suspend_cmd_tlv(wmi_unified_t wmi_handle,
  66. struct suspend_params *param,
  67. uint8_t mac_id);
  68. int32_t send_resume_cmd_tlv(wmi_unified_t wmi_handle,
  69. uint8_t mac_id);
  70. int32_t send_wow_enable_cmd_tlv(wmi_unified_t wmi_handle,
  71. struct wow_cmd_params *param,
  72. uint8_t mac_id);
  73. int32_t send_set_ap_ps_param_cmd_tlv(wmi_unified_t wmi_handle,
  74. uint8_t *peer_addr,
  75. struct ap_ps_params *param);
  76. int32_t send_set_sta_ps_param_cmd_tlv(wmi_unified_t wmi_handle,
  77. struct sta_ps_params *param);
  78. int32_t send_crash_inject_cmd_tlv(wmi_unified_t wmi_handle,
  79. struct crash_inject *param);
  80. int32_t
  81. send_dbglog_cmd_tlv(wmi_unified_t wmi_handle,
  82. struct dbglog_params *dbglog_param);
  83. int32_t send_vdev_set_param_cmd_tlv(wmi_unified_t wmi_handle,
  84. struct vdev_set_params *param);
  85. int32_t send_stats_request_cmd_tlv(wmi_unified_t wmi_handle,
  86. uint8_t macaddr[IEEE80211_ADDR_LEN],
  87. struct stats_request_params *param);
  88. int32_t send_packet_log_enable_cmd_tlv(wmi_unified_t wmi_handle,
  89. uint8_t macaddr[IEEE80211_ADDR_LEN],
  90. struct packet_enable_params *param);
  91. int32_t send_beacon_send_cmd_tlv(wmi_unified_t wmi_handle,
  92. struct beacon_params *param);
  93. int32_t send_peer_assoc_cmd_tlv(wmi_unified_t wmi_handle,
  94. struct peer_assoc_params *param);
  95. int32_t send_scan_start_cmd_tlv(wmi_unified_t wmi_handle,
  96. struct scan_start_params *param);
  97. int32_t send_scan_stop_cmd_tlv(wmi_unified_t wmi_handle,
  98. struct scan_stop_params *param);
  99. int32_t send_scan_chan_list_cmd_tlv(wmi_unified_t wmi_handle,
  100. struct scan_chan_list_params *param);
  101. int32_t send_mgmt_cmd_tlv(wmi_unified_t wmi_handle,
  102. struct wmi_mgmt_params *param);
  103. int32_t send_modem_power_state_cmd_tlv(wmi_unified_t wmi_handle,
  104. uint32_t param_value);
  105. int32_t send_set_sta_ps_mode_cmd_tlv(wmi_unified_t wmi_handle,
  106. uint32_t vdev_id, uint8_t val);
  107. int32_t send_set_sta_uapsd_auto_trig_cmd_tlv(wmi_unified_t wmi_handle,
  108. struct sta_uapsd_trig_params *param);
  109. int32_t send_get_temperature_cmd_tlv(wmi_unified_t wmi_handle);
  110. int32_t send_set_p2pgo_oppps_req_cmd_tlv(wmi_unified_t wmi_handle,
  111. struct p2p_ps_params *oppps);
  112. int32_t send_set_p2pgo_noa_req_cmd_tlv(wmi_unified_t wmi_handle,
  113. struct p2p_ps_params *noa);
  114. int32_t send_set_smps_params_cmd_tlv(wmi_unified_t wmi_handle, uint8_t vdev_id,
  115. int value);
  116. int32_t send_set_mimops_cmd_tlv(wmi_unified_t wmi_handle,
  117. uint8_t vdev_id, int value);
  118. int32_t send_ocb_set_utc_time_cmd_tlv(wmi_unified_t wmi_handle,
  119. struct ocb_utc_param *utc);
  120. int send_ocb_start_timing_advert_cmd_tlv(wmi_unified_t wmi_handle,
  121. struct ocb_timing_advert_param *timing_advert);
  122. int send_ocb_stop_timing_advert_cmd_tlv(wmi_unified_t wmi_handle,
  123. struct ocb_timing_advert_param *timing_advert);
  124. int send_ocb_get_tsf_timer_cmd_tlv(wmi_unified_t wmi_handle,
  125. uint8_t vdev_id);
  126. int32_t send_dcc_get_stats_cmd_tlv(wmi_unified_t wmi_handle,
  127. struct dcc_get_stats_param *get_stats_param);
  128. int32_t send_dcc_clear_stats_cmd_tlv(wmi_unified_t wmi_handle,
  129. uint32_t vdev_id, uint32_t dcc_stats_bitmap);
  130. int send_dcc_update_ndl_cmd_tlv(wmi_unified_t wmi_handle,
  131. struct dcc_update_ndl_param *update_ndl_param);
  132. int32_t send_ocb_set_config_cmd_tlv(wmi_unified_t wmi_handle,
  133. struct ocb_config_param *config, uint32_t *ch_mhz);