qdf_hrtimer.c 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118
  1. /*
  2. * Copyright (c) 2021 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: qdf_hrtimer
  21. * QCA driver framework (QDF) high resolution timers timer APIs
  22. */
  23. #include "i_qdf_hrtimer.h"
  24. #include "qdf_hrtimer.h"
  25. #include <qdf_module.h>
  26. void qdf_hrtimer_start(qdf_hrtimer_data_t *timer, qdf_ktime_t interval,
  27. enum qdf_hrtimer_mode mode)
  28. {
  29. __qdf_hrtimer_start(timer, interval, mode);
  30. }
  31. qdf_export_symbol(qdf_hrtimer_start);
  32. int qdf_hrtimer_cancel(qdf_hrtimer_data_t *timer)
  33. {
  34. return __qdf_hrtimer_cancel(timer);
  35. }
  36. qdf_export_symbol(qdf_hrtimer_cancel);
  37. void qdf_hrtimer_init(qdf_hrtimer_data_t *timer,
  38. qdf_hrtimer_func_t callback,
  39. enum qdf_clock_id clock,
  40. enum qdf_hrtimer_mode mode,
  41. enum qdf_context_mode ctx)
  42. {
  43. __qdf_hrtimer_init(timer, callback, clock, mode, ctx);
  44. }
  45. qdf_export_symbol(qdf_hrtimer_init);
  46. qdf_ktime_t qdf_time_ms_to_ktime(uint64_t ms)
  47. {
  48. return __qdf_time_ms_to_ktime(ms);
  49. }
  50. qdf_export_symbol(qdf_time_ms_to_ktime);
  51. void qdf_hrtimer_kill(qdf_hrtimer_data_t *timer)
  52. {
  53. __qdf_hrtimer_kill(timer);
  54. }
  55. qdf_export_symbol(qdf_hrtimer_kill);
  56. qdf_ktime_t qdf_hrtimer_get_remaining(qdf_hrtimer_data_t *timer)
  57. {
  58. return __qdf_hrtimer_get_remaining(timer);
  59. }
  60. qdf_export_symbol(qdf_hrtimer_get_remaining);
  61. bool qdf_hrtimer_is_queued(qdf_hrtimer_data_t *timer)
  62. {
  63. return __qdf_hrtimer_is_queued(timer);
  64. }
  65. qdf_export_symbol(qdf_hrtimer_is_queued);
  66. bool qdf_hrtimer_callback_running(qdf_hrtimer_data_t *timer)
  67. {
  68. return __qdf_hrtimer_callback_running(timer);
  69. }
  70. qdf_export_symbol(qdf_hrtimer_callback_running);
  71. bool qdf_hrtimer_active(qdf_hrtimer_data_t *timer)
  72. {
  73. return __qdf_hrtimer_active(timer);
  74. }
  75. qdf_export_symbol(qdf_hrtimer_active);
  76. qdf_ktime_t qdf_hrtimer_cb_get_time(qdf_hrtimer_data_t *timer)
  77. {
  78. return __qdf_hrtimer_cb_get_time(timer);
  79. }
  80. qdf_export_symbol(qdf_hrtimer_cb_get_time);
  81. uint64_t qdf_hrtimer_forward(qdf_hrtimer_data_t *timer,
  82. qdf_ktime_t now,
  83. qdf_ktime_t interval)
  84. {
  85. return __qdf_hrtimer_forward(timer, now, interval);
  86. }
  87. qdf_export_symbol(qdf_hrtimer_forward);
  88. void qdf_hrtimer_add_expires(qdf_hrtimer_data_t *timer, qdf_ktime_t interval)
  89. {
  90. return __qdf_hrtimer_add_expires(timer, interval);
  91. }
  92. qdf_export_symbol(qdf_hrtimer_add_expires);