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/gnu/dev/bwn/phy_n/if_bwn_phy_n_ppr.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 
    3   Broadcom B43 wireless driver
    4   IEEE 802.11n PHY data tables
    5 
    6   Copyright (c) 2008 Michael Buesch <m@bues.ch>
    7   Copyright (c) 2010 Rafał Miłecki <zajec5@gmail.com>
    8 
    9   This program is free software; you can redistribute it and/or modify
   10   it under the terms of the GNU General Public License as published by
   11   the Free Software Foundation; either version 2 of the License, or
   12   (at your option) any later version.
   13 
   14   This program is distributed in the hope that it will be useful,
   15   but WITHOUT ANY WARRANTY; without even the implied warranty of
   16   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   17   GNU General Public License for more details.
   18 
   19   You should have received a copy of the GNU General Public License
   20   along with this program; see the file COPYING.  If not, write to
   21   the Free Software Foundation, Inc., 51 Franklin Steet, Fifth Floor,
   22   Boston, MA 02110-1301, USA.
   23 
   24 */
   25 
   26 /*
   27  * $FreeBSD$
   28  */
   29 
   30 #ifndef __IF_BWN_PHY_PPR_H__
   31 #define __IF_BWN_PHY_PPR_H__
   32 
   33 #define BWN_PPR_CCK_RATES_NUM           4
   34 #define BWN_PPR_OFDM_RATES_NUM          8
   35 #define BWN_PPR_MCS_RATES_NUM           8
   36 
   37 #define BWN_PPR_RATES_NUM       (BWN_PPR_CCK_RATES_NUM +        \
   38                                  BWN_PPR_OFDM_RATES_NUM * 2 +   \
   39                                  BWN_PPR_MCS_RATES_NUM * 4)
   40 
   41 struct bwn_ppr_rates {
   42         uint8_t cck[BWN_PPR_CCK_RATES_NUM];
   43         uint8_t ofdm[BWN_PPR_OFDM_RATES_NUM];
   44         uint8_t ofdm_20_cdd[BWN_PPR_OFDM_RATES_NUM];
   45         uint8_t mcs_20[BWN_PPR_MCS_RATES_NUM]; /* single stream rates */
   46         uint8_t mcs_20_cdd[BWN_PPR_MCS_RATES_NUM];
   47         uint8_t mcs_20_stbc[BWN_PPR_MCS_RATES_NUM];
   48         uint8_t mcs_20_sdm[BWN_PPR_MCS_RATES_NUM];
   49 };
   50 
   51 struct bwn_ppr {
   52         /* All powers are in 1/4 dBm (Q5.2) */
   53         union {
   54                 uint8_t __all_rates[BWN_PPR_RATES_NUM];
   55                 struct bwn_ppr_rates rates;
   56         };
   57 };
   58 
   59 extern  void bwn_ppr_clear(struct bwn_mac *mac, struct bwn_ppr *ppr);
   60 extern  void bwn_ppr_add(struct bwn_mac *mac, struct bwn_ppr *ppr, int diff);
   61 extern  void bwn_ppr_apply_max(struct bwn_mac *mac, struct bwn_ppr *ppr,
   62             uint8_t max);
   63 extern  void bwn_ppr_apply_min(struct bwn_mac *mac, struct bwn_ppr *ppr,
   64             uint8_t min);
   65 extern  uint8_t bwn_ppr_get_max(struct bwn_mac *mac, struct bwn_ppr *ppr);
   66 extern  bool bwn_ppr_load_max_from_sprom(struct bwn_mac *mac,
   67             struct bwn_ppr *ppr, bwn_phy_band_t band);
   68 
   69 #endif

Cache object: ae7cd282e74dabb8df32df3b964a983a


[ 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.