X-Git-Url: https://jxself.org/git/?a=blobdiff_plain;f=target_firmware%2Fwlan%2Fratectrl11n.h;h=ccd6f77ea4712c05e8e567639cc231fc7d6236e2;hb=bcccc6c09d4478bd657f138dcad4ea7fe4f55e2f;hp=fa44f7ceb5afc8035fae64628063a77183f68346;hpb=8804cc94e3b66550797279f540b960d18a78421f;p=open-ath9k-htc-firmware.git diff --git a/target_firmware/wlan/ratectrl11n.h b/target_firmware/wlan/ratectrl11n.h index fa44f7c..ccd6f77 100755 --- a/target_firmware/wlan/ratectrl11n.h +++ b/target_firmware/wlan/ratectrl11n.h @@ -1,9 +1,38 @@ /* - * Copyright (c) 2000-2002 Atheros Communications, Inc., All Rights Reserved + * Copyright (c) 2013 Qualcomm Atheros, Inc. + * All rights reserved. * - * Definitions for core driver - * This is a common header file for all platforms and operating systems. + * Redistribution and use in source and binary forms, with or without + * modification, are permitted (subject to the limitations in the + * disclaimer below) provided that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the + * distribution. + * + * * Neither the name of Qualcomm Atheros nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE + * GRANTED BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT + * HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR + * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN + * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ + #ifndef _RATECTRL11N_H_ #define _RATECTRL11N_H_ @@ -11,8 +40,8 @@ * used only in 20 mode. If both 20/40 bits are enabled * then that rate can be used for both 20 and 40 mode */ -#define TRUE_20 0x2 -#define TRUE_40 0x4 +#define TRUE_20 0x2 +#define TRUE_40 0x4 #define TRUE_2040 (TRUE_20|TRUE_40) #define TRUE_ALL_11N (TRUE_2040|TRUE) @@ -33,19 +62,19 @@ typedef enum { #define WLAN_RC_PHY_DS(_phy) ((_phy == WLAN_RC_PHY_HT_20_DS) \ || (_phy == WLAN_RC_PHY_HT_40_DS) \ || (_phy == WLAN_RC_PHY_HT_20_DS_HGI) \ - || (_phy == WLAN_RC_PHY_HT_40_DS_HGI)) + || (_phy == WLAN_RC_PHY_HT_40_DS_HGI)) #define WLAN_RC_PHY_40(_phy) ((_phy == WLAN_RC_PHY_HT_40_SS) \ || (_phy == WLAN_RC_PHY_HT_40_DS) \ || (_phy == WLAN_RC_PHY_HT_40_SS_HGI) \ - || (_phy == WLAN_RC_PHY_HT_40_DS_HGI)) + || (_phy == WLAN_RC_PHY_HT_40_DS_HGI)) #define WLAN_RC_PHY_20(_phy) ((_phy == WLAN_RC_PHY_HT_20_SS) \ || (_phy == WLAN_RC_PHY_HT_20_DS) \ || (_phy == WLAN_RC_PHY_HT_20_SS_HGI) \ - || (_phy == WLAN_RC_PHY_HT_20_DS_HGI)) + || (_phy == WLAN_RC_PHY_HT_20_DS_HGI)) #define WLAN_RC_PHY_SGI(_phy) ((_phy == WLAN_RC_PHY_HT_20_SS_HGI) \ || (_phy == WLAN_RC_PHY_HT_20_DS_HGI) \ || (_phy == WLAN_RC_PHY_HT_40_SS_HGI) \ - || (_phy == WLAN_RC_PHY_HT_40_DS_HGI)) + || (_phy == WLAN_RC_PHY_HT_40_DS_HGI)) #define WLAN_RC_PHY_HT(_phy) (_phy >= WLAN_RC_PHY_HT_20_SS) @@ -73,7 +102,7 @@ typedef enum { #define WLAN_RC_WEP_TKIP_FLAG (0x100) /* Index into the rate table */ -#define INIT_RATE_MAX_20 23 +#define INIT_RATE_MAX_20 23 #define INIT_RATE_MAX_40 40 /* @@ -100,7 +129,7 @@ typedef struct { A_BOOL validSingleStream;/* Valid for use in rate control for single stream operation */ #ifdef MAGPIE_MERLIN A_BOOL validSTBC; /* Valid for use in rate control for single stream operation */ -#endif +#endif WLAN_PHY phy; /* CCK/OFDM/TURBO/XR */ A_UINT32 rateKbps; /* Rate in Kbits per second */ A_UINT32 userRateKbps; /* User rate in KBits per second */ @@ -128,23 +157,9 @@ typedef struct { rc11n_info_t info[]; } RATE_TABLE_11N; -/* - * Update the SIB's rate control information - * - * This should be called when the supported rates change - * (e.g. SME operation, wireless mode change) - * - * It will determine which rates are valid for use. - */ -void rcSibUpdate_11n(struct ath_softc_tgt *, - struct ath_node_target *, - A_UINT32 capflag, - A_BOOL keepState, - struct ieee80211_rate *rs); - /* * Determines and returns the new Tx rate index. - */ + */ void rcRateFind_11n(struct ath_softc_tgt *sc, struct ath_node_target *an, int numTries, @@ -168,9 +183,4 @@ void rcUpdate_11n(struct ath_softc_tgt *sc, int nBad, int sh_lo_retry); -void ath_tx_status_update_rate(struct ath_softc_tgt *sc, - struct ath_rc_series rcs[], - int series, - WMI_TXSTATUS_EVENT *txs); - #endif /* _RATECTRL11N_H_ */