The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/dev/rtwn/rtl8188e/r88e_rx_desc.h

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    1 /*-
    2  * Copyright (c) 2010 Damien Bergamini <damien.bergamini@free.fr>
    3  * Copyright (c) 2015-2016 Andriy Voskoboinyk <avos@FreeBSD.org>
    4  *
    5  * Permission to use, copy, modify, and distribute this software for any
    6  * purpose with or without fee is hereby granted, provided that the above
    7  * copyright notice and this permission notice appear in all copies.
    8  *
    9  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
   10  * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
   11  * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
   12  * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
   13  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
   14  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
   15  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
   16  *
   17  * $OpenBSD: if_urtwnreg.h,v 1.3 2010/11/16 18:02:59 damien Exp $
   18  * $FreeBSD$
   19  */
   20 
   21 #ifndef R88E_RX_DESC_H
   22 #define R88E_RX_DESC_H
   23 
   24 #include <dev/rtwn/rtl8192c/r92c_rx_desc.h>
   25 
   26 /* Rx MAC descriptor defines (chip-specific). */
   27 /* Rx dword 3 */
   28 #define R88E_RXDW3_RPT_M        0x0000c000
   29 #define R88E_RXDW3_RPT_S        14
   30 #define R88E_RXDW3_RPT_RX       0
   31 #define R88E_RXDW3_RPT_TX1      1
   32 #define R88E_RXDW3_RPT_TX2      2
   33 #define R88E_RXDW3_RPT_HIS      3
   34 
   35 /* Rx PHY descriptor. */
   36 struct r88e_rx_phystat {
   37         uint8_t         path_agc[2];
   38         uint8_t         chan;
   39         uint8_t         reserved1;
   40         uint8_t         sig_qual;
   41         uint8_t         agc_rpt;
   42         uint8_t         rpt_b;
   43         uint8_t         reserved2;
   44         uint8_t         noise_power;
   45         uint8_t         path_cfotail[2];
   46         uint8_t         pcts_mask[2];
   47         uint8_t         stream_rxevm[2];
   48         uint8_t         path_rxsnr[2];
   49         uint8_t         noise_power_db_lsb;
   50         uint8_t         reserved3[3];
   51         uint8_t         stream_csi[2];
   52         uint8_t         stream_target_csi[2];
   53         uint8_t         sig_evm;
   54 } __packed;
   55 
   56 /* Tx report (type 1). */
   57 struct r88e_tx_rpt_ccx {
   58         uint8_t         rptb0;
   59 #define R88E_RPTB6_PKT_NUM_M    0x0e
   60 #define R88E_RPTB6_PKT_NUM_S    1
   61 #define R88E_RPTB0_INT_CCX      0x80
   62 
   63         uint8_t         rptb1;
   64 #define R88E_RPTB1_MACID_M      0x3f
   65 #define R88E_RPTB1_MACID_S      0
   66 #define R88E_RPTB1_PKT_OK       0x40
   67 #define R88E_RPTB1_BMC          0x80
   68 
   69         uint8_t         rptb2;
   70 #define R88E_RPTB2_RETRY_CNT_M  0x3f
   71 #define R88E_RPTB2_RETRY_CNT_S  0
   72 #define R88E_RPTB2_LIFE_EXPIRE  0x40
   73 #define R88E_RPTB2_RETRY_OVER   0x80
   74 
   75         uint8_t         queue_time_low;
   76         uint8_t         queue_time_high;
   77         uint8_t         final_rate;
   78         uint8_t         rptb6;
   79 #define R88E_RPTB6_QSEL_M       0xf0
   80 #define R88E_RPTB6_QSEL_S       4
   81 
   82         uint8_t         rptb7;
   83 } __packed;
   84 
   85 /* Interrupt message format. */
   86 /* XXX recheck */
   87 struct r88e_intr_msg {
   88         uint8_t         c2h_id;
   89         uint8_t         c2h_seq;
   90         uint8_t         c2h_evt;
   91         uint8_t         reserved1[13];
   92         uint8_t         cpwm1;
   93         uint8_t         reserved2[3];
   94         uint8_t         cpwm2;
   95         uint8_t         reserved3[27];
   96         uint32_t        hisr;
   97         uint32_t        hisr_ex;
   98 };
   99 
  100 #endif  /* R88E_RX_DESC_H */

Cache object: c775190aa03d979f7e12096eef2ec104


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.