haltxbfinterface.h 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167
  1. /******************************************************************************
  2. *
  3. * Copyright(c) 2007 - 2017 Realtek Corporation.
  4. *
  5. * This program is free software; you can redistribute it and/or modify it
  6. * under the terms of version 2 of the GNU General Public License as
  7. * published by the Free Software Foundation.
  8. *
  9. * This program is distributed in the hope that it will be useful, but WITHOUT
  10. * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  11. * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
  12. * more details.
  13. *
  14. * The full GNU General Public License is included in this distribution in the
  15. * file called LICENSE.
  16. *
  17. * Contact Information:
  18. * wlanfae <wlanfae@realtek.com>
  19. * Realtek Corporation, No. 2, Innovation Road II, Hsinchu Science Park,
  20. * Hsinchu 300, Taiwan.
  21. *
  22. * Larry Finger <Larry.Finger@lwfinger.net>
  23. *
  24. *****************************************************************************/
  25. #ifndef __HAL_TXBF_INTERFACE_H__
  26. #define __HAL_TXBF_INTERFACE_H__
  27. #if (BEAMFORMING_SUPPORT == 1)
  28. #if (DM_ODM_SUPPORT_TYPE == ODM_WIN)
  29. #define a_SifsTime ((IS_WIRELESS_MODE_5G(adapter) || IS_WIRELESS_MODE_N_24G(adapter)) ? 16 : 10)
  30. void beamforming_gid_paid(
  31. void *adapter,
  32. PRT_TCB tcb);
  33. enum rt_status
  34. beamforming_get_report_frame(
  35. void *adapter,
  36. PRT_RFD rfd,
  37. POCTET_STRING p_pdu_os);
  38. void beamforming_get_ndpa_frame(
  39. void *dm_void,
  40. OCTET_STRING pdu_os);
  41. boolean
  42. send_fw_ht_ndpa_packet(
  43. void *dm_void,
  44. u8 *RA,
  45. enum channel_width BW);
  46. boolean
  47. send_fw_vht_ndpa_packet(
  48. void *dm_void,
  49. u8 *RA,
  50. u16 AID,
  51. enum channel_width BW);
  52. boolean
  53. send_sw_vht_ndpa_packet(
  54. void *dm_void,
  55. u8 *RA,
  56. u16 AID,
  57. enum channel_width BW);
  58. boolean
  59. send_sw_ht_ndpa_packet(
  60. void *dm_void,
  61. u8 *RA,
  62. enum channel_width BW);
  63. #if (SUPPORT_MU_BF == 1)
  64. enum rt_status
  65. beamforming_get_vht_gid_mgnt_frame(
  66. void *adapter,
  67. PRT_RFD rfd,
  68. POCTET_STRING p_pdu_os);
  69. boolean
  70. send_sw_vht_gid_mgnt_frame(
  71. void *dm_void,
  72. u8 *RA,
  73. u8 idx);
  74. boolean
  75. send_sw_vht_bf_report_poll(
  76. void *dm_void,
  77. u8 *RA,
  78. boolean is_final_poll);
  79. boolean
  80. send_sw_vht_mu_ndpa_packet(
  81. void *dm_void,
  82. enum channel_width BW);
  83. #else
  84. #define beamforming_get_vht_gid_mgnt_frame(adapter, rfd, p_pdu_os) RT_STATUS_FAILURE
  85. #define send_sw_vht_gid_mgnt_frame(dm_void, RA)
  86. #define send_sw_vht_bf_report_poll(dm_void, RA, is_final_poll)
  87. #define send_sw_vht_mu_ndpa_packet(dm_void, BW)
  88. #endif
  89. #elif (DM_ODM_SUPPORT_TYPE == ODM_CE)
  90. u32 beamforming_get_report_frame(
  91. void *dm_void,
  92. union recv_frame *precv_frame);
  93. boolean
  94. send_fw_ht_ndpa_packet(
  95. void *dm_void,
  96. u8 *RA,
  97. enum channel_width BW);
  98. boolean
  99. send_sw_ht_ndpa_packet(
  100. void *dm_void,
  101. u8 *RA,
  102. enum channel_width BW);
  103. boolean
  104. send_fw_vht_ndpa_packet(
  105. void *dm_void,
  106. u8 *RA,
  107. u16 AID,
  108. enum channel_width BW);
  109. boolean
  110. send_sw_vht_ndpa_packet(
  111. void *dm_void,
  112. u8 *RA,
  113. u16 AID,
  114. enum channel_width BW);
  115. #endif
  116. void beamforming_get_ndpa_frame(
  117. void *dm_void,
  118. #if (DM_ODM_SUPPORT_TYPE == ODM_WIN)
  119. OCTET_STRING pdu_os
  120. #elif (DM_ODM_SUPPORT_TYPE == ODM_CE)
  121. union recv_frame *precv_frame
  122. #endif
  123. );
  124. boolean
  125. dbg_send_sw_vht_mundpa_packet(
  126. void *dm_void,
  127. enum channel_width BW);
  128. #else
  129. #define beamforming_get_ndpa_frame(dm, _pdu_os)
  130. #if (DM_ODM_SUPPORT_TYPE == ODM_CE)
  131. #define beamforming_get_report_frame(adapter, precv_frame) RT_STATUS_FAILURE
  132. #elif (DM_ODM_SUPPORT_TYPE == ODM_WIN)
  133. #define beamforming_get_report_frame(adapter, rfd, p_pdu_os) RT_STATUS_FAILURE
  134. #define beamforming_get_vht_gid_mgnt_frame(adapter, rfd, p_pdu_os) RT_STATUS_FAILURE
  135. #endif
  136. #define send_fw_ht_ndpa_packet(dm_void, RA, BW)
  137. #define send_sw_ht_ndpa_packet(dm_void, RA, BW)
  138. #define send_fw_vht_ndpa_packet(dm_void, RA, AID, BW)
  139. #define send_sw_vht_ndpa_packet(dm_void, RA, AID, BW)
  140. #define send_sw_vht_gid_mgnt_frame(dm_void, RA, idx)
  141. #define send_sw_vht_bf_report_poll(dm_void, RA, is_final_poll)
  142. #define send_sw_vht_mu_ndpa_packet(dm_void, BW)
  143. #endif
  144. #endif