rtl8723b_recv.h 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162
  1. /******************************************************************************
  2. *
  3. * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
  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. * You should have received a copy of the GNU General Public License along with
  15. * this program; if not, write to the Free Software Foundation, Inc.,
  16. * 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA
  17. *
  18. *
  19. ******************************************************************************/
  20. #ifndef __RTL8723B_RECV_H__
  21. #define __RTL8723B_RECV_H__
  22. #include <rtl8192c_recv.h>
  23. typedef struct rxreport_8723b
  24. {
  25. //DWORD 0
  26. u32 pktlen:14;
  27. u32 crc32:1;
  28. u32 icverr:1;
  29. u32 drvinfosize:4;
  30. u32 security:3;
  31. u32 qos:1;
  32. u32 shift:2;
  33. u32 physt:1;
  34. u32 swdec:1;
  35. u32 ls:1;
  36. u32 fs:1;
  37. u32 eor:1;
  38. u32 own:1;
  39. //DWORD 1
  40. u32 macid:7;
  41. u32 hwrsvd10:1;
  42. u32 tid:4;
  43. u32 hwrsvd11:1;
  44. u32 amsdu:1;
  45. u32 rxidmatch:1;
  46. u32 paggr:1;
  47. u32 a1fit:4;
  48. u32 chkerr:1; //20
  49. u32 ipver:1;
  50. u32 istcpudp:1;
  51. u32 chkvld:1; //23
  52. u32 pam:1;
  53. u32 pwr:1;
  54. u32 md:1;
  55. u32 mf:1;
  56. u32 type:2;
  57. u32 mc:1;
  58. u32 bc:1;
  59. //DWORD 2
  60. u32 seq:12;
  61. u32 frag:4;
  62. u32 rxisqos:1;
  63. u32 hwrsvd20:1;
  64. u32 ivlen:6;
  65. u32 hwrsvd21:4;
  66. u32 rptsel:1;
  67. u32 hwrsvd22:3;
  68. //DWORD 3
  69. u32 rxrate:7;
  70. u32 hwrsvd30:3;
  71. u32 htc:1;
  72. u32 esop:1;
  73. u32 bssidfit:2;
  74. u32 hwrsvd31:2;
  75. u32 usbaggpktnum:8;
  76. u32 hwrsvd32:5;
  77. u32 eosp:1;
  78. u32 patternwake:1;
  79. u32 unicastwake:1;
  80. u32 magicwake:1;
  81. //DWORD 4
  82. u32 splcp:1;
  83. u32 ldpc:1;
  84. u32 stbc:1;
  85. u32 hwrsvd40:1;
  86. u32 bw:2;
  87. u32 hwrsvd41:26;
  88. //DWORD 5
  89. u32 tsfl;
  90. //DWORD 6
  91. u32 bufaddr;
  92. //DWORD 7
  93. u32 bufaddr64;
  94. } RXREPORT, *PRXREPORT;
  95. typedef struct phystatus_8723b
  96. {
  97. u32 rxgain_a:7;
  98. u32 trsw_a:1;
  99. u32 rxgain_b:7;
  100. u32 trsw_b:1;
  101. u32 chcorr_l:16;
  102. u32 sigqualcck:8;
  103. u32 cfo_a:8;
  104. u32 cfo_b:8;
  105. u32 chcorr_h:8;
  106. u32 noisepwrdb_h:8;
  107. u32 cfo_tail_a:8;
  108. u32 cfo_tail_b:8;
  109. u32 rsvd0824:8;
  110. u32 rsvd1200:8;
  111. u32 rxevm_a:8;
  112. u32 rxevm_b:8;
  113. u32 rxsnr_a:8;
  114. u32 rxsnr_b:8;
  115. u32 noisepwrdb_l:8;
  116. u32 rsvd1616:8;
  117. u32 postsnr_a:8;
  118. u32 postsnr_b:8;
  119. u32 csi_a:8;
  120. u32 csi_b:8;
  121. u32 targetcsi_a:8;
  122. u32 targetcsi_b:8;
  123. u32 sigevm:8;
  124. u32 maxexpwr:8;
  125. u32 exintflag:1;
  126. u32 sgien:1;
  127. u32 rxsc:2;
  128. u32 idlelong:1;
  129. u32 anttrainen:1;
  130. u32 antselb:1;
  131. u32 antsel:1;
  132. } PHYSTATUS, *PPHYSTATUS;
  133. #if defined(CONFIG_SDIO_HCI) || defined(CONFIG_GSPI_HCI)
  134. s32 rtl8723bs_init_recv_priv(PADAPTER padapter);
  135. void rtl8723bs_free_recv_priv(PADAPTER padapter);
  136. #endif
  137. void rtl8723b_query_rx_phy_status(union recv_frame *prframe, struct phy_stat *pphy_stat);
  138. void rtl8723b_process_phy_info(PADAPTER padapter, void *prframe);
  139. #ifdef CONFIG_USB_HCI
  140. void update_recvframe_attrib(PADAPTER padapter, union recv_frame *precvframe, struct recv_stat *prxstat);
  141. void update_recvframe_phyinfo(union recv_frame *precvframe, struct phy_stat *pphy_info);
  142. #endif
  143. #endif