ath9k_htc: Update to upstream's commit d19607454d656cb14d8c16dfbf161eebb542e8fe dated...
[linux-libre-firmware.git] / ath9k_htc / target_firmware / wlan / if_athrate.h
index 44e820d25f4dd83296c7e88e682ac29e408d3726..ca9d2fb1eca60faed9d593a9780461da94a300dd 100755 (executable)
@@ -1,40 +1,43 @@
 /*-
  * Copyright (c) 2004 Sam Leffler, Errno Consulting
  * Copyright (c) 2004 Video54 Technologies, Inc.
+ * Copyright (c) 2013 Qualcomm Atheros, Inc.
+ *
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer,
-    without modification.
- * 2. Redistributions in binary form must reproduce at minimum a disclaimer
- *    similar to the "NO WARRANTY" disclaimer below ("Disclaimer") and any
- *    redistribution must be conditioned upon including a substantially
- *    similar Disclaimer requirement for further binary redistribution.
- * 3. Neither the names of the above-listed copyright holders nor the names
- *    of any contributors may be used to endorse or promote products derived
+ * 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.
  *
  * Alternatively, this software may be distributed under the terms of the
  * GNU General Public License ("GPL") version 2 as published by the Free
  * Software Foundation.
  *
- * NO WARRANTY
- * 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 NONINFRINGEMENT, MERCHANTIBILITY
- * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
- * THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR 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 DAMAGES.
- *
- * $Id: //depot/sw/branches/fusion_usb/target_firmware/wlan/target/madwifi/ath/if_athrate.h#2 $
+ * 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 _ATH_RATECTRL_H_
 #define _ATH_RATECTRL_H_
@@ -58,20 +61,20 @@ struct ath_ratectrl {
 #define ATH_RC_RTSCTS_FLAG           0x10
 #define ATH_RC_TX_STBC_FLAG          0x20    /* TX STBC */
 #define ATH_RC_RX_STBC_FLAG          0xC0    /* RX STBC ,2 bits */
-#define ATH_RC_RX_STBC_FLAG_S        6   
+#define ATH_RC_RX_STBC_FLAG_S        6
 #define ATH_RC_WEP_TKIP_FLAG         0x100    /* WEP/TKIP encryption */
 
 enum ath_rc_cwmode{
        ATH_RC_CW20_MODE,
-       ATH_RC_CW40_MODE,     
+       ATH_RC_CW40_MODE,
 };
 
 #define ATH_RC_PROBE_ALLOWED    0x00000001
 #define ATH_RC_MINRATE_LASTRATE 0x00000002
 
 struct ath_rc_series {
-       a_uint8_t rix;  
-       a_uint8_t tries;        
+       a_uint8_t rix;
+       a_uint8_t tries;
        u_int8_t tx_chainmask;
        a_uint8_t flags;
        a_uint32_t max4msframelen;
@@ -110,7 +113,13 @@ void ath_rate_tx_complete(struct ath_softc_tgt *, struct ath_node_target *,
                          a_int32_t nframes, a_int32_t nbad);
 
 
-void ath_rate_stateupdate(struct ath_softc_tgt *sc, struct ath_node_target *an, 
+void ath_rate_stateupdate(struct ath_softc_tgt *sc, struct ath_node_target *an,
                          enum ath_rc_cwmode cwmode);
 
+
+void ath_tx_status_update_rate(struct ath_softc_tgt *sc,
+                              struct ath_rc_series rcs[],
+                              int series,
+                              WMI_TXSTATUS_EVENT *txs);
+
 #endif /* _ATH_RATECTRL_H_ */