wmi_unified_concurrency_api.h 3.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. /*
  2. * Copyright (c) 2013-2019 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 concurrency component.
  21. */
  22. #ifndef _WMI_UNIFIED_CONCURRENCY_API_H_
  23. #define _WMI_UNIFIED_CONCURRENCY_API_H_
  24. /**
  25. * wmi_unified_set_mcc_channel_time_quota_cmd() - set MCC channel time quota
  26. * @wmi_handle: wmi handle
  27. * @adapter_1_chan_freq: adapter 1 channel number
  28. * @adapter_1_quota: adapter 1 quota
  29. * @adapter_2_chan_freq: adapter 2 channel number
  30. *
  31. * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure
  32. */
  33. QDF_STATUS wmi_unified_set_mcc_channel_time_quota_cmd(
  34. wmi_unified_t wmi_handle,
  35. uint32_t adapter_1_chan_freq,
  36. uint32_t adapter_1_quota, uint32_t adapter_2_chan_freq);
  37. #ifdef WLAN_FEATURE_MCC_QUOTA
  38. /**
  39. * wmi_extract_mcc_quota_ev_param() - extract mcc_quota param from wmi event
  40. * @wmi_handle: wmi handle
  41. * @evt_buf: pointer to event buffer
  42. * @param: Pointer to hold mcc_quota param
  43. *
  44. * Return: QDF_STATUS_SUCCESS on success or error code
  45. */
  46. QDF_STATUS wmi_extract_mcc_quota_ev_param(wmi_unified_t wmi_handle,
  47. void *evt_buf,
  48. struct mcc_quota_info *param);
  49. #endif
  50. /**
  51. * wmi_unified_set_mcc_channel_time_latency_cmd() - set MCC channel time latency
  52. * @wmi_handle: wmi handle
  53. * @mcc_channel_freq: mcc channel freq
  54. * @mcc_channel_time_latency: MCC channel time latency.
  55. *
  56. * Currently used to set time latency for an MCC vdev/adapter using operating
  57. * channel of it and channel number. The info is provided run time using
  58. * iwpriv command: iwpriv <wlan0 | p2p0> setMccLatency <latency in ms>.
  59. *
  60. * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure
  61. */
  62. QDF_STATUS wmi_unified_set_mcc_channel_time_latency_cmd(
  63. wmi_unified_t wmi_handle,
  64. uint32_t mcc_channel_freq, uint32_t mcc_channel_time_latency);
  65. /**
  66. * wmi_unified_set_enable_disable_mcc_adaptive_scheduler_cmd() - control mcc
  67. * scheduler
  68. * @wmi_handle: wmi handle
  69. * @mcc_adaptive_scheduler: enable/disable
  70. * @pdev_id: pdev id
  71. *
  72. * This function enable/disable mcc adaptive scheduler in fw.
  73. *
  74. * Return: QDF_STATUS_SUCCESS for success or error code
  75. */
  76. QDF_STATUS wmi_unified_set_enable_disable_mcc_adaptive_scheduler_cmd(
  77. wmi_unified_t wmi_handle, uint32_t mcc_adaptive_scheduler,
  78. uint32_t pdev_id);
  79. #endif /* _WMI_UNIFIED_CONCURRENCY_API_H_ */