halcomtxbf.h 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179
  1. #ifndef __HAL_COM_TXBF_H__
  2. #define __HAL_COM_TXBF_H__
  3. /*
  4. typedef bool
  5. (*TXBF_GET)(
  6. void* p_adapter,
  7. u8 get_type,
  8. void* p_out_buf
  9. );
  10. typedef bool
  11. (*TXBF_SET)(
  12. void* p_adapter,
  13. u8 set_type,
  14. void* p_in_buf
  15. );
  16. */
  17. enum txbf_set_type {
  18. TXBF_SET_SOUNDING_ENTER,
  19. TXBF_SET_SOUNDING_LEAVE,
  20. TXBF_SET_SOUNDING_RATE,
  21. TXBF_SET_SOUNDING_STATUS,
  22. TXBF_SET_SOUNDING_FW_NDPA,
  23. TXBF_SET_SOUNDING_CLK,
  24. TXBF_SET_TX_PATH_RESET,
  25. TXBF_SET_GET_TX_RATE
  26. };
  27. enum txbf_get_type {
  28. TXBF_GET_EXPLICIT_BEAMFORMEE,
  29. TXBF_GET_EXPLICIT_BEAMFORMER,
  30. TXBF_GET_MU_MIMO_STA,
  31. TXBF_GET_MU_MIMO_AP
  32. };
  33. /* 2 HAL TXBF related */
  34. struct _HAL_TXBF_INFO {
  35. u8 txbf_idx;
  36. u8 ndpa_idx;
  37. u8 BW;
  38. u8 rate;
  39. struct timer_list txbf_fw_ndpa_timer;
  40. #if (DM_ODM_SUPPORT_TYPE == ODM_WIN)
  41. RT_WORK_ITEM txbf_enter_work_item;
  42. RT_WORK_ITEM txbf_leave_work_item;
  43. RT_WORK_ITEM txbf_fw_ndpa_work_item;
  44. RT_WORK_ITEM txbf_clk_work_item;
  45. RT_WORK_ITEM txbf_status_work_item;
  46. RT_WORK_ITEM txbf_rate_work_item;
  47. RT_WORK_ITEM txbf_reset_tx_path_work_item;
  48. RT_WORK_ITEM txbf_get_tx_rate_work_item;
  49. #endif
  50. };
  51. #if (BEAMFORMING_SUPPORT == 1)
  52. void
  53. hal_com_txbf_beamform_init(
  54. void *p_dm_void
  55. );
  56. void
  57. hal_com_txbf_config_gtab(
  58. void *p_dm_void
  59. );
  60. void
  61. hal_com_txbf_enter_work_item_callback(
  62. #if (DM_ODM_SUPPORT_TYPE == ODM_WIN)
  63. struct _ADAPTER *adapter
  64. #else
  65. void *p_dm_void
  66. #endif
  67. );
  68. void
  69. hal_com_txbf_leave_work_item_callback(
  70. #if (DM_ODM_SUPPORT_TYPE == ODM_WIN)
  71. struct _ADAPTER *adapter
  72. #else
  73. void *p_dm_void
  74. #endif
  75. );
  76. void
  77. hal_com_txbf_fw_ndpa_work_item_callback(
  78. #if (DM_ODM_SUPPORT_TYPE == ODM_WIN)
  79. struct _ADAPTER *adapter
  80. #else
  81. void *p_dm_void
  82. #endif
  83. );
  84. void
  85. hal_com_txbf_clk_work_item_callback(
  86. #if (DM_ODM_SUPPORT_TYPE == ODM_WIN)
  87. struct _ADAPTER *adapter
  88. #else
  89. void *p_dm_void
  90. #endif
  91. );
  92. void
  93. hal_com_txbf_reset_tx_path_work_item_callback(
  94. #if (DM_ODM_SUPPORT_TYPE == ODM_WIN)
  95. struct _ADAPTER *adapter
  96. #else
  97. void *p_dm_void
  98. #endif
  99. );
  100. void
  101. hal_com_txbf_get_tx_rate_work_item_callback(
  102. #if (DM_ODM_SUPPORT_TYPE == ODM_WIN)
  103. struct _ADAPTER *adapter
  104. #else
  105. void *p_dm_void
  106. #endif
  107. );
  108. void
  109. hal_com_txbf_rate_work_item_callback(
  110. #if (DM_ODM_SUPPORT_TYPE == ODM_WIN)
  111. struct _ADAPTER *adapter
  112. #else
  113. void *p_dm_void
  114. #endif
  115. );
  116. void
  117. hal_com_txbf_fw_ndpa_timer_callback(
  118. struct timer_list *p_timer
  119. );
  120. void
  121. hal_com_txbf_status_work_item_callback(
  122. #if (DM_ODM_SUPPORT_TYPE == ODM_WIN)
  123. struct _ADAPTER *adapter
  124. #else
  125. void *p_dm_void
  126. #endif
  127. );
  128. boolean
  129. hal_com_txbf_set(
  130. void *p_dm_void,
  131. u8 set_type,
  132. void *p_in_buf
  133. );
  134. boolean
  135. hal_com_txbf_get(
  136. struct _ADAPTER *adapter,
  137. u8 get_type,
  138. void *p_out_buf
  139. );
  140. #else
  141. #define hal_com_txbf_beamform_init(p_dm_void) NULL
  142. #define hal_com_txbf_config_gtab(p_dm_void) NULL
  143. #define hal_com_txbf_enter_work_item_callback(_adapter) NULL
  144. #define hal_com_txbf_leave_work_item_callback(_adapter) NULL
  145. #define hal_com_txbf_fw_ndpa_work_item_callback(_adapter) NULL
  146. #define hal_com_txbf_clk_work_item_callback(_adapter) NULL
  147. #define hal_com_txbf_rate_work_item_callback(_adapter) NULL
  148. #define hal_com_txbf_fw_ndpa_timer_callback(_adapter) NULL
  149. #define hal_com_txbf_status_work_item_callback(_adapter) NULL
  150. #define hal_com_txbf_get(_adapter, _get_type, _pout_buf)
  151. #endif
  152. #endif /* #ifndef __HAL_COM_TXBF_H__ */