wmi_unified_dbr_api.h 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. /*
  2. * Copyright (c) 2013-2019 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
  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 DBR component.
  21. */
  22. #ifndef _WMI_UNIFIED_DBR_API_H_
  23. #define _WMI_UNIFIED_DBR_API_H_
  24. #include "wmi_unified_dbr_param.h"
  25. /**
  26. * wmi_unified_dbr_ring_cfg: Configure direct buffer rx rings
  27. * @wmi_handle: WMI handle
  28. * @cfg: pointer to direct buffer rx config request
  29. *
  30. * Return: QDF status of operation
  31. */
  32. QDF_STATUS wmi_unified_dbr_ring_cfg(wmi_unified_t wmi_handle,
  33. struct direct_buf_rx_cfg_req *cfg);
  34. /**
  35. * wmi_extract_dbr_buf_release_fixed : Extract direct buffer rx fixed param
  36. * from buffer release event
  37. * @wmi_handle: WMI handle
  38. * @evt_buf: Event buffer
  39. * @param: Pointer to direct buffer rx response struct
  40. *
  41. * Return: QDF status of operation
  42. */
  43. QDF_STATUS wmi_extract_dbr_buf_release_fixed(
  44. wmi_unified_t wmi_handle,
  45. uint8_t *evt_buf,
  46. struct direct_buf_rx_rsp *param);
  47. /**
  48. * wmi_extract_dbr_buf_release_entry: Extract direct buffer rx buffer tlv
  49. *
  50. * @wmi_handle: WMI handle
  51. * @evt_buf: Event buffer
  52. * @idx: Index of the module for which capability is received
  53. * @param: Pointer to direct buffer rx entry
  54. *
  55. * Return: QDF status of operation
  56. */
  57. QDF_STATUS wmi_extract_dbr_buf_release_entry(
  58. wmi_unified_t wmi_handle,
  59. uint8_t *evt_buf, uint8_t idx,
  60. struct direct_buf_rx_entry *param);
  61. /**
  62. * wmi_extract_dbr_buf_metadata: Extract direct buffer metadata
  63. *
  64. * @wmi_handle: WMI handle
  65. * @evt_buf: Event buffer
  66. * @idx: Index of the module for which capability is received
  67. * @param: Pointer to direct buffer metadata
  68. *
  69. * Return: QDF status of operation
  70. */
  71. QDF_STATUS wmi_extract_dbr_buf_metadata(
  72. wmi_unified_t wmi_handle,
  73. uint8_t *evt_buf, uint8_t idx,
  74. struct direct_buf_rx_metadata *param);
  75. /**
  76. * wmi_extract_dbr_buf_cv_metadata: Extract direct buffer TxBF cbf cv metadata
  77. *
  78. * @wmi_handle: WMI handle
  79. * @evt_buf: Event buffer
  80. * @idx: Index of the module for which capability is received
  81. * @param: Pointer to direct buffer cv metadata
  82. *
  83. * Return: QDF status of operation
  84. */
  85. QDF_STATUS wmi_extract_dbr_buf_cv_metadata(
  86. wmi_unified_t wmi_handle,
  87. uint8_t *evt_buf, uint8_t idx,
  88. struct direct_buf_rx_cv_metadata *param);
  89. /**
  90. * wmi_extract_dbr_buf_cqi_metadata: Extract direct buffer TxBF cqi metadata
  91. *
  92. * @wmi_handle: WMI handle
  93. * @evt_buf: Event buffer
  94. * @idx: Index of the module for which capability is received
  95. * @param: Pointer to direct buffer cqi metadata
  96. *
  97. * Return: QDF status of operation
  98. */
  99. QDF_STATUS wmi_extract_dbr_buf_cqi_metadata(
  100. wmi_unified_t wmi_handle,
  101. uint8_t *evt_buf, uint8_t idx,
  102. struct direct_buf_rx_cqi_metadata *param);
  103. #endif /* _WMI_UNIFIED_DBR_API_H_ */