wmi_unified_p2p_api.c 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126
  1. /*
  2. * Copyright (c) 2013-2020 The Linux Foundation. All rights reserved.
  3. * Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
  4. *
  5. * Permission to use, copy, modify, and/or distribute this software for
  6. * any purpose with or without fee is hereby granted, provided that the
  7. * above copyright notice and this permission notice appear in all
  8. * copies.
  9. *
  10. * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
  11. * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
  12. * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
  13. * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
  14. * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
  15. * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
  16. * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
  17. * PERFORMANCE OF THIS SOFTWARE.
  18. */
  19. /**
  20. * DOC: Implement API's specific to P2P component.
  21. */
  22. #include <wmi_unified_priv.h>
  23. #include <wmi_unified_p2p_api.h>
  24. QDF_STATUS wmi_unified_set_p2pgo_oppps_req(wmi_unified_t wmi_handle,
  25. struct p2p_ps_params *oppps)
  26. {
  27. if (wmi_handle->ops->send_set_p2pgo_oppps_req_cmd)
  28. return wmi_handle->ops->send_set_p2pgo_oppps_req_cmd(wmi_handle,
  29. oppps);
  30. return QDF_STATUS_E_FAILURE;
  31. }
  32. QDF_STATUS wmi_unified_set_p2pgo_noa_req_cmd(wmi_unified_t wmi_handle,
  33. struct p2p_ps_params *noa)
  34. {
  35. if (wmi_handle->ops->send_set_p2pgo_noa_req_cmd)
  36. return wmi_handle->ops->send_set_p2pgo_noa_req_cmd(wmi_handle,
  37. noa);
  38. return QDF_STATUS_E_FAILURE;
  39. }
  40. QDF_STATUS wmi_extract_p2p_noa_ev_param(wmi_unified_t wmi_handle,
  41. void *evt_buf,
  42. struct p2p_noa_info *param)
  43. {
  44. if (!wmi_handle) {
  45. wmi_err("wmi handle is null");
  46. return QDF_STATUS_E_INVAL;
  47. }
  48. if (wmi_handle->ops->extract_p2p_noa_ev_param)
  49. return wmi_handle->ops->extract_p2p_noa_ev_param(
  50. wmi_handle, evt_buf, param);
  51. return QDF_STATUS_E_FAILURE;
  52. }
  53. QDF_STATUS
  54. wmi_extract_mac_addr_rx_filter_evt_param(wmi_unified_t wmi_handle,
  55. void *evt_buf,
  56. struct p2p_set_mac_filter_evt *param)
  57. {
  58. if (!wmi_handle) {
  59. wmi_err("wmi handle is null");
  60. return QDF_STATUS_E_INVAL;
  61. }
  62. if (wmi_handle->ops->extract_mac_addr_rx_filter_evt_param)
  63. return wmi_handle->ops->extract_mac_addr_rx_filter_evt_param(
  64. wmi_handle, evt_buf, param);
  65. return QDF_STATUS_E_FAILURE;
  66. }
  67. #ifdef FEATURE_P2P_LISTEN_OFFLOAD
  68. QDF_STATUS wmi_unified_p2p_lo_start_cmd(wmi_unified_t wmi_handle,
  69. struct p2p_lo_start *param)
  70. {
  71. if (!wmi_handle) {
  72. wmi_err("wmi handle is null");
  73. return QDF_STATUS_E_INVAL;
  74. }
  75. if (wmi_handle->ops->send_p2p_lo_start_cmd)
  76. return wmi_handle->ops->send_p2p_lo_start_cmd(wmi_handle,
  77. param);
  78. return QDF_STATUS_E_FAILURE;
  79. }
  80. QDF_STATUS wmi_unified_p2p_lo_stop_cmd(wmi_unified_t wmi_handle,
  81. uint8_t vdev_id)
  82. {
  83. if (!wmi_handle) {
  84. wmi_err("wmi handle is null");
  85. return QDF_STATUS_E_INVAL;
  86. }
  87. if (wmi_handle->ops->send_p2p_lo_stop_cmd)
  88. return wmi_handle->ops->send_p2p_lo_stop_cmd(wmi_handle,
  89. vdev_id);
  90. return QDF_STATUS_E_FAILURE;
  91. }
  92. QDF_STATUS wmi_extract_p2p_lo_stop_ev_param(wmi_unified_t wmi_handle,
  93. void *evt_buf,
  94. struct p2p_lo_event *param)
  95. {
  96. if (!wmi_handle) {
  97. wmi_err("wmi handle is null");
  98. return QDF_STATUS_E_INVAL;
  99. }
  100. if (wmi_handle->ops->extract_p2p_lo_stop_ev_param)
  101. return wmi_handle->ops->extract_p2p_lo_stop_ev_param(
  102. wmi_handle, evt_buf, param);
  103. return QDF_STATUS_E_FAILURE;
  104. }
  105. #endif /* End of FEATURE_P2P_LISTEN_OFFLOAD*/