linux/drivers/staging/rtl8723bs/include/rtl8723b_recv.h
<<
>>
Prefs
   1/* SPDX-License-Identifier: GPL-2.0 */
   2/******************************************************************************
   3 *
   4 * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
   5 *
   6 ******************************************************************************/
   7#ifndef __RTL8723B_RECV_H__
   8#define __RTL8723B_RECV_H__
   9
  10#include <rtl8192c_recv.h>
  11
  12typedef struct rxreport_8723b
  13{
  14        /* DWORD 0 */
  15        u32 pktlen:14;
  16        u32 crc32:1;
  17        u32 icverr:1;
  18        u32 drvinfosize:4;
  19        u32 security:3;
  20        u32 qos:1;
  21        u32 shift:2;
  22        u32 physt:1;
  23        u32 swdec:1;
  24        u32 rsvd0028:2;
  25        u32 eor:1;
  26        u32 rsvd0031:1;
  27
  28        /* DWORD 1 */
  29        u32 macid:7;
  30        u32 rsvd0407:1;
  31        u32 tid:4;
  32        u32 macid_vld:1;
  33        u32 amsdu:1;
  34        u32 rxid_match:1;
  35        u32 paggr:1;
  36        u32 a1fit:4;
  37        u32 chkerr:1;  /* 20 */
  38        u32 rx_ipv:1;
  39        u32 rx_is_tcp_udp:1;
  40        u32 chk_vld:1;   /* 23 */
  41        u32 pam:1;
  42        u32 pwr:1;
  43        u32 md:1;
  44        u32 mf:1;
  45        u32 type:2;
  46        u32 mc:1;
  47        u32 bc:1;
  48
  49        /* DWORD 2 */
  50        u32 seq:12;
  51        u32 frag:4;
  52        u32 rx_is_qos:1;
  53        u32 rsvd0817:1;
  54        u32 wlanhd_iv_len:6;
  55        u32 hwrsvd0824:4;
  56        u32 c2h_ind:1;
  57        u32 rsvd0829:2;
  58        u32 fcs_ok:1;
  59
  60        /* DWORD 3 */
  61        u32 rx_rate:7;
  62        u32 rsvd1207:3;
  63        u32 htc:1;
  64        u32 esop:1;
  65        u32 bssid_fit:2;
  66        u32 rsvd1214:2;
  67        u32 dma_agg_num:8;
  68        u32 rsvd1224:5;
  69        u32 patternmatch:1;
  70        u32 unicastwake:1;
  71        u32 magicwake:1;
  72
  73        /* DWORD 4 */
  74        u32 splcp:1;    /* Ofdm sgi or cck_splcp */
  75        u32 ldpc:1;
  76        u32 stbc:1;
  77        u32 not_sounding:1;
  78        u32 bw:2;
  79        u32 rsvd1606:26;
  80
  81        /* DWORD 5 */
  82        u32 tsfl;
  83} RXREPORT, *PRXREPORT;
  84
  85typedef struct phystatus_8723b
  86{
  87        u32 rxgain_a:7;
  88        u32 trsw_a:1;
  89        u32 rxgain_b:7;
  90        u32 trsw_b:1;
  91        u32 chcorr_l:16;
  92
  93        u32 sigqualcck:8;
  94        u32 cfo_a:8;
  95        u32 cfo_b:8;
  96        u32 chcorr_h:8;
  97
  98        u32 noisepwrdb_h:8;
  99        u32 cfo_tail_a:8;
 100        u32 cfo_tail_b:8;
 101        u32 rsvd0824:8;
 102
 103        u32 rsvd1200:8;
 104        u32 rxevm_a:8;
 105        u32 rxevm_b:8;
 106        u32 rxsnr_a:8;
 107
 108        u32 rxsnr_b:8;
 109        u32 noisepwrdb_l:8;
 110        u32 rsvd1616:8;
 111        u32 postsnr_a:8;
 112
 113        u32 postsnr_b:8;
 114        u32 csi_a:8;
 115        u32 csi_b:8;
 116        u32 targetcsi_a:8;
 117
 118        u32 targetcsi_b:8;
 119        u32 sigevm:8;
 120        u32 maxexpwr:8;
 121        u32 exintflag:1;
 122        u32 sgien:1;
 123        u32 rxsc:2;
 124        u32 idlelong:1;
 125        u32 anttrainen:1;
 126        u32 antselb:1;
 127        u32 antsel:1;
 128} PHYSTATUS, *PPHYSTATUS;
 129
 130s32 rtl8723bs_init_recv_priv(struct adapter *padapter);
 131void rtl8723bs_free_recv_priv(struct adapter *padapter);
 132
 133void rtl8723b_query_rx_phy_status(union recv_frame *prframe, struct phy_stat *pphy_stat);
 134void rtl8723b_process_phy_info(struct adapter *padapter, void *prframe);
 135
 136#endif
 137