wmi_unified_twt_api.c 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212
  1. /*
  2. * Copyright (c) 2018-2020 The Linux Foundation. All rights reserved.
  3. *
  4. * Permission to use, copy, modify, and/or distribute this software for
  5. * any purpose with or without fee is hereby granted, provided that the
  6. * above copyright notice and this permission notice appear in all
  7. * copies.
  8. *
  9. * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
  10. * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
  11. * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
  12. * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
  13. * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
  14. * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
  15. * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
  16. * PERFORMANCE OF THIS SOFTWARE.
  17. */
  18. /**
  19. * DOC: Implement API's specific to TWT component.
  20. */
  21. #include "wmi_unified_priv.h"
  22. #include "wmi_unified_twt_api.h"
  23. QDF_STATUS
  24. wmi_unified_twt_enable_cmd(wmi_unified_t wmi_handle,
  25. struct wmi_twt_enable_param *params)
  26. {
  27. if (wmi_handle->ops->send_twt_enable_cmd)
  28. return wmi_handle->ops->send_twt_enable_cmd(
  29. wmi_handle, params);
  30. return QDF_STATUS_E_FAILURE;
  31. }
  32. QDF_STATUS
  33. wmi_unified_twt_disable_cmd(wmi_unified_t wmi_handle,
  34. struct wmi_twt_disable_param *params)
  35. {
  36. if (wmi_handle->ops->send_twt_disable_cmd)
  37. return wmi_handle->ops->send_twt_disable_cmd(
  38. wmi_handle, params);
  39. return QDF_STATUS_E_FAILURE;
  40. }
  41. QDF_STATUS
  42. wmi_unified_twt_add_dialog_cmd(wmi_unified_t wmi_handle,
  43. struct wmi_twt_add_dialog_param *params)
  44. {
  45. if (wmi_handle->ops->send_twt_add_dialog_cmd)
  46. return wmi_handle->ops->send_twt_add_dialog_cmd(
  47. wmi_handle, params);
  48. return QDF_STATUS_E_FAILURE;
  49. }
  50. QDF_STATUS
  51. wmi_unified_twt_del_dialog_cmd(wmi_unified_t wmi_handle,
  52. struct wmi_twt_del_dialog_param *params)
  53. {
  54. if (wmi_handle->ops->send_twt_del_dialog_cmd)
  55. return wmi_handle->ops->send_twt_del_dialog_cmd(
  56. wmi_handle, params);
  57. return QDF_STATUS_E_FAILURE;
  58. }
  59. QDF_STATUS
  60. wmi_unified_twt_pause_dialog_cmd(wmi_unified_t wmi_handle,
  61. struct wmi_twt_pause_dialog_cmd_param *params)
  62. {
  63. if (wmi_handle->ops->send_twt_pause_dialog_cmd)
  64. return wmi_handle->ops->send_twt_pause_dialog_cmd(
  65. wmi_handle, params);
  66. return QDF_STATUS_E_FAILURE;
  67. }
  68. QDF_STATUS wmi_unified_twt_resume_dialog_cmd(
  69. wmi_unified_t wmi_handle,
  70. struct wmi_twt_resume_dialog_cmd_param *params)
  71. {
  72. if (wmi_handle->ops->send_twt_resume_dialog_cmd)
  73. return wmi_handle->ops->send_twt_resume_dialog_cmd(
  74. wmi_handle, params);
  75. return QDF_STATUS_E_FAILURE;
  76. }
  77. #ifdef WLAN_SUPPORT_BCAST_TWT
  78. QDF_STATUS wmi_unified_twt_btwt_invite_sta_cmd(
  79. wmi_unified_t wmi_handle,
  80. struct wmi_twt_btwt_invite_sta_cmd_param *params)
  81. {
  82. if (wmi_handle->ops->send_twt_btwt_invite_sta_cmd)
  83. return wmi_handle->ops->send_twt_btwt_invite_sta_cmd(
  84. wmi_handle, params);
  85. return QDF_STATUS_E_FAILURE;
  86. }
  87. QDF_STATUS wmi_unified_twt_btwt_remove_sta_cmd(
  88. wmi_unified_t wmi_handle,
  89. struct wmi_twt_btwt_remove_sta_cmd_param *params)
  90. {
  91. if (wmi_handle->ops->send_twt_btwt_remove_sta_cmd)
  92. return wmi_handle->ops->send_twt_btwt_remove_sta_cmd(
  93. wmi_handle, params);
  94. return QDF_STATUS_E_FAILURE;
  95. }
  96. #endif
  97. QDF_STATUS wmi_extract_twt_enable_comp_event(
  98. wmi_unified_t wmi_handle,
  99. uint8_t *evt_buf,
  100. struct wmi_twt_enable_complete_event_param *params)
  101. {
  102. if (wmi_handle->ops->extract_twt_enable_comp_event)
  103. return wmi_handle->ops->extract_twt_enable_comp_event(
  104. wmi_handle, evt_buf, params);
  105. return QDF_STATUS_E_FAILURE;
  106. }
  107. QDF_STATUS wmi_extract_twt_disable_comp_event(
  108. wmi_unified_t wmi_handle,
  109. uint8_t *evt_buf,
  110. struct wmi_twt_disable_complete_event *params)
  111. {
  112. if (wmi_handle->ops->extract_twt_disable_comp_event)
  113. return wmi_handle->ops->extract_twt_disable_comp_event(
  114. wmi_handle, evt_buf, params);
  115. return QDF_STATUS_E_FAILURE;
  116. }
  117. QDF_STATUS wmi_extract_twt_add_dialog_comp_event(
  118. wmi_unified_t wmi_handle,
  119. uint8_t *evt_buf,
  120. struct wmi_twt_add_dialog_complete_event_param *params)
  121. {
  122. if (wmi_handle->ops->extract_twt_add_dialog_comp_event)
  123. return wmi_handle->ops->extract_twt_add_dialog_comp_event(
  124. wmi_handle, evt_buf, params);
  125. return QDF_STATUS_E_FAILURE;
  126. }
  127. QDF_STATUS wmi_extract_twt_del_dialog_comp_event(
  128. wmi_unified_t wmi_handle,
  129. uint8_t *evt_buf,
  130. struct wmi_twt_del_dialog_complete_event_param *params)
  131. {
  132. if (wmi_handle->ops->extract_twt_del_dialog_comp_event)
  133. return wmi_handle->ops->extract_twt_del_dialog_comp_event(
  134. wmi_handle, evt_buf, params);
  135. return QDF_STATUS_E_FAILURE;
  136. }
  137. QDF_STATUS wmi_extract_twt_pause_dialog_comp_event(
  138. wmi_unified_t wmi_handle,
  139. uint8_t *evt_buf,
  140. struct wmi_twt_pause_dialog_complete_event_param *params)
  141. {
  142. if (wmi_handle->ops->extract_twt_pause_dialog_comp_event)
  143. return wmi_handle->ops->extract_twt_pause_dialog_comp_event(
  144. wmi_handle, evt_buf, params);
  145. return QDF_STATUS_E_FAILURE;
  146. }
  147. QDF_STATUS wmi_extract_twt_resume_dialog_comp_event(
  148. wmi_unified_t wmi_handle,
  149. uint8_t *evt_buf,
  150. struct wmi_twt_resume_dialog_complete_event_param *params)
  151. {
  152. if (wmi_handle->ops->extract_twt_resume_dialog_comp_event)
  153. return wmi_handle->ops->extract_twt_resume_dialog_comp_event(
  154. wmi_handle, evt_buf, params);
  155. return QDF_STATUS_E_FAILURE;
  156. }
  157. #ifdef WLAN_SUPPORT_BCAST_TWT
  158. QDF_STATUS wmi_extract_twt_btwt_invite_sta_comp_event(
  159. wmi_unified_t wmi_handle,
  160. uint8_t *evt_buf,
  161. struct wmi_twt_btwt_invite_sta_complete_event_param *params)
  162. {
  163. if (wmi_handle->ops->extract_twt_btwt_invite_sta_comp_event)
  164. return wmi_handle->ops->extract_twt_btwt_invite_sta_comp_event(
  165. wmi_handle, evt_buf, params);
  166. return QDF_STATUS_E_FAILURE;
  167. }
  168. QDF_STATUS wmi_extract_twt_btwt_remove_sta_comp_event(
  169. wmi_unified_t wmi_handle,
  170. uint8_t *evt_buf,
  171. struct wmi_twt_btwt_remove_sta_complete_event_param *params)
  172. {
  173. if (wmi_handle->ops->extract_twt_btwt_remove_sta_comp_event)
  174. return wmi_handle->ops->extract_twt_btwt_remove_sta_comp_event(
  175. wmi_handle, evt_buf, params);
  176. return QDF_STATUS_E_FAILURE;
  177. }
  178. #endif