wmi_unified_cfr_api.h 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. /*
  2. * Copyright (c) 2019, 2021 The Linux Foundation. All rights reserved.
  3. * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
  4. *
  5. * Permission to use, copy, modify, and/or distribute this software for any
  6. * purpose with or without fee is hereby granted, provided that the above
  7. * copyright notice and this permission notice appear in all copies.
  8. *
  9. * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
  10. * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
  11. * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
  12. * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
  13. * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
  14. * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
  15. * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  16. */
  17. #ifndef _WMI_UNIFIED_CFR_API_H_
  18. #define _WMI_UNIFIED_CFR_API_H_
  19. #include "wmi_unified_param.h"
  20. #include "wmi_unified_cfr_param.h"
  21. #ifdef WLAN_CFR_ENABLE
  22. /**
  23. * wmi_unified_send_peer_cfr_capture_cmd() - WMI function to start CFR capture
  24. * for a peer
  25. * @wmi_handle: WMI handle
  26. * @param: configuration params for capture
  27. *
  28. * Return: QDF_STATUS_SUCCESS if success, else returns proper error code.
  29. */
  30. QDF_STATUS
  31. wmi_unified_send_peer_cfr_capture_cmd(wmi_unified_t wmi_handle,
  32. struct peer_cfr_params *param);
  33. /**
  34. * wmi_extract_cfr_peer_tx_event_param() - WMI function to extract cfr tx event
  35. * for a peer
  36. * @wmi_handle: WMI handle
  37. * @evt_buf: Buffer holding event data
  38. * @peer_tx_event: pointer to hold tx event data
  39. *
  40. * Return: QDF_STATUS_SUCCESS if success, else returns proper error code.
  41. */
  42. QDF_STATUS
  43. wmi_extract_cfr_peer_tx_event_param(wmi_unified_t wmi_handle, void *evt_buf,
  44. wmi_cfr_peer_tx_event_param *peer_tx_event);
  45. #ifdef WLAN_ENH_CFR_ENABLE
  46. /**
  47. * wmi_unified_send_cfr_rcc_cmd() - WMI function to send CFR RCC param
  48. * @wmi_handle: WMI handle
  49. * @cfg: pointer to RCC param
  50. *
  51. * Return: QDF_STATUS_SUCCESS if success, else returns proper error code.
  52. */
  53. QDF_STATUS wmi_unified_send_cfr_rcc_cmd(wmi_unified_t wmi_handle,
  54. struct cfr_rcc_param *cfg);
  55. /**
  56. * wmi_extract_cfr_pdev_phase_delta_event() - WMI function to extract the
  57. * phase delta information.
  58. * @wmi_handle: WMI handle
  59. * @evt_buf: Buffer holding the event data
  60. * @param: phase delta params to be updated from event
  61. *
  62. * Return: QDF_STATUS_SUCCESS if success, else returns proper error code.
  63. */
  64. QDF_STATUS
  65. wmi_extract_cfr_pdev_phase_delta_event(wmi_unified_t wmi_handle,
  66. void *evt_buf,
  67. struct wmi_cfr_phase_delta_param *param);
  68. #ifdef WLAN_RCC_ENHANCED_AOA_SUPPORT
  69. QDF_STATUS
  70. wmi_extract_cfr_pdev_enhanced_aoa_phasedelta_event_fixed_param
  71. (wmi_unified_t wmi_handle, void *evt_buf,
  72. struct wmi_cfr_enh_phase_delta_param *param);
  73. QDF_STATUS
  74. wmi_extract_cfr_pdev_enhanced_aoa_phasedelta_event_data
  75. (wmi_unified_t wmi_handle, void *evt_buf,
  76. struct wmi_cfr_enh_phase_delta_param *param);
  77. #endif /* WLAN_RCC_ENHANCED_AOA_SUPPORT */
  78. #endif
  79. #endif /* WLAN_CFR_ENABLE */
  80. #endif /* _WMI_UNIFIED_CFR_API_H_ */